Spring 3.0.0 download from Maven

I am just switching from .NET to JAVA and have to start a JAVA project with Spring 3.0.0. and sleep mode.

Can someone please explain to me step_by_step how to load Spring dependencies from Maven. I just spent the whole day without much success.

PS. I have Java 1.5.06 and Spring is already loaded (without dependencies) and Maven is installed.

change

c0mrade:

I am thinking of Spring 3.0.0. they are considered optional dependencies so they should be included separately for each dependency, it's just a hunch I'm not sure if Pascal or someone more experienced confirms my statement, then this is true, so far I have worked with Spring 2.5.5

Yes ... They are definitely optional, so this is what I did. I just copied / pasted hibernate dependencies from spring -orm pom file to myproject pom file, i.e. now I have Spring and hibernate dependencies in my pom file defined together. Then I ran "mvn install" on myproject, after which I just copied all the Spring and hibernate jars to my lib project folder.

So now I have a Java project with Spring and sleep mode. :)

I am learning Java and this is just my second day, so please tell me if I did something terrible.

update:

rlovtang:

When using maven, you do not manually download any dependencies (e.g. spring), and you do not copy jars to your lib projects folder. Everyone will take care of this automatically maven when you run 'mvn install'. How do you pack your application, is it a war?

I understand it. And it is clear to me that Maven automatically manages the classpath for dependencies in my local repository, so my project can work fine on my local machine. And I also blush that you have the opportunity to pack your dependency banks in your WAR or EAR, but what if I want to pack my application in a JAR along with all the dependency JAR servers inside the output folder (target)? You see, I donโ€™t want to deploy my JAR file with only pom.xml, but all the JAR files that are needed to run my application.


It still does not work:

this is my pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>3.0.0.</version> </dependency> </dependencies> 

When I hit "mvn install", I get this exception:

[INFO] Project Scanning ... [INFO] --------------------------------------- -------- ------------------------- ERROR ERROR [INFORMATION] ------------ ----------------------------------- --------------- ---------- [INFO] null [INFO] --------------------------------- -------------- ------------------------- [INFO] Tracing java.lang.NullPointerException at org .apache.maven.artifact.versioning.DefaultArtifactVersion.parseVersion (DefaultArtifactVersion.jav : 136) at org.apache.maven.artifact.versioning.DefaultArtifactVersion. (DefaultArtifactVersion.java:47) at org.apache.maven.artifact.versioning.VersionRange.createFromVersion (VersionRange.java:219) at org.apache.maven.project.artifact.ProjectArtifactFactory.create (ProjectArtifactFactory.java:37) org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic (DefaultMavenProjectBuilder. Java: 1017) at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal (DefaultMavenProjectBuilder.java:8 80) at org.apacheFermal.fache.ilava.fachefermalfilefermalfermalfermalfurnalfu (DefaultMavenProject Builder.java:508) at org.apache.maven.project.DefaultMavenProjectBuilder.build (DefaultMavenProjectBuilder.java:200) at org.apache.maven.DefaultMaven.getProject (DefaultMaven.java:604) on org.apache.maven .DefaultMaven.collectProjects (DefaultMaven.java:487) at org.apache.maven.DefaultMaven.getProjects (DefaultMaven.javahaps91) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:2 72) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:138) at org.apache.maven.cli.MavenCli.main (MavenCli.javahaps62) at org.apache.maven.cli.compat.CompatibleMain .main (CompatibleMain.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method) at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown source) at sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown source). reflect.Method.invoke (Unknown source) at org.codehaus.classworlds.Launcher.launchEnhanced (Launcher.javahaps15) at org.codehaus.classworlds.Launcher.launch (Launcher.java:255) at org.codehaus.classworlds. Launcher.mainWithExitCode (Launcher.java:430) at org.codehaus.classworlds.Launcher.main (Launcher.javahaps75) [INFO] -------------------- --------------------------- ----------------------- - [INFO] General time: <1 second [INFO] Finished: Thu Feb 18 11:19:44 CET 2010 [INFO] Final memory: 1M / 2M [INFO] ------------------ ----------------------------- --------------------- ----

+7
java spring maven-2 dependencies
source share
6 answers

Actually, your POM is wrong, it lacks the main parts. You need at least something like this (this is the minimum POM):

 <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.myproject</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <name>My App</name> </project> 

To add a spring dependency, I suggest using the following:

 <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.myproject</groupId> <artifactId>my-app</artifactId> <version>1.0-SNAPSHOT</version> <name>My App</name> <properties> <org.springframework.version>3.0.0.RELEASE</org.springframework.version> </properties> <dependencies> <!-- Core utilities used by other modules. Define this if you use Spring Utility APIs (org.springframework.core.*/org.springframework.util.*) --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${org.springframework.version}</version> </dependency> </dependencies> </project> 

For a complete list of spring artifacts, see Getting spring 3 artifacts from Maven and choose what you need.

Update: Just FYI there are many repository search engines that can help you find artifacts. This can be useful if you are not used to Maven. Also note that you can get some IDE support for this (Idea, Eclipse, NetBeans, I think they all offer a repository search function). In fact, in your case, I would suggest using SpringSource Tools Suite (STS), which is an integrated version of Eclipse (linking some plug-ins for spring development projects, including Maven support). STS is a fully integrated environment, very close to what you can get in .NET IMO. You'll like it.

+12
source share

Just put this in your pom.xml

 <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>3.0.0.RELEASE</version> </dependency> 

There are several maven repositories from which you can load libraries, here is one

http://maven.nuxeo.org/nexus/index.html#welcome

This should work if there is a specific spring version in the repository, currently I'm using 2.5.5

UPDATE

You see, I do not want to deploy the JAR file with only pom.xml, but all the JARs that are necessary for my application to run.

Then you need something called a plugin assembly that will do .jar with dependencies for you, you remember that I gave a link to find a keyword for the assembly to find out more. But here is how I do it with the assembly:

 <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> mvn clean install assembly:assembly 

That is, if you want .jar, then you need to specify <packaging>jar</packaging>

+2
source share

As of Spring 3, there is more than one big superyar. You must select the parts you need. You need at least:

 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.0.RELEASE</version> </dependency> 
+2
source share
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.my.application</groupId> <artifactId>slickapp</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>My application</name> <inceptionYear>2010</inceptionYear> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.4.2</version> <configuration> <argLine>-Xmx512m -XX:MaxPermSize=256M -XX:PermSize=20M</argLine> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> <version>2.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> <fork>true</fork> <meminitial>128m</meminitial> <maxmem>512m</maxmem> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> <exclusions> <exclusion> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.5.3</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> </dependencies> <properties> <spring.version>3.0.0.RELEASE</spring.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project> 
+1
source share

Ok I got this to work:

 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${org.springframework.version}</version> </dependency> 

And I see various downloadable banks, but still donโ€™t know where they load.

I also see various spring jars (e.g. spring -jdbc-3.0.0.RELEASE.jar), but where is Hibernate located? Do I need to download Hibernate?

0
source share

I found a great pom.xml example and it works great for me.

Here's the link for Spring 3 Hibernate 4 Pom.xml

0
source share

All Articles