title: Spring 3.0.0 dependencies download with Maven
body: <p>I'm just transitioning from .NET to JAVA and have to start JAVA project with Spring 3.0.0. and Hibernate.</p>
  
  <p>Can someone please explain to me step_by_step how to download spring dependencies with Maven. I just spent whole day with absolutely no success.</p>
  
  <p>PS. I have Java 1.5.06 and have already downloaded spring (with no dependencies) and installed Maven.</p>
  
  <p><strong>edit:</strong></p>
  
  <p>c0mrade:</p>
  
  <blockquote>
    <p>I think as of spring 3.0.0. they are
    considered to be optional dependencies
    so they need to be included separately
    each dependency, this is just a guess
    I'm not sure about this, if Pascal or
    someone more experienced confirms my
    statement then its true, so far I've
    worked with spring 2.5.5</p>
  </blockquote>
  
  <p>Yes... They are definitely optional so this is what I did. I simply copy/pasted hibernate dependencies from spring-orm pom file to myproject pom file, meaning that now I have spring and hibernate dependencies in my pom file defined together. Then I ran "mvn install" on myproject and after that just hand copied all spring and hibernate jars to my project's lib folder.</p>
  
  <p>So now I have a Java project with spring and hibernate. :)</p>
  
  <p>I'm learning Java and this is just my second day so so please tell me if I did something horribly wrong.</p>
  
  <p><strong>update:</strong></p>
  
  <p>rlovtang:</p>
  
  <blockquote>
    <p>When using maven you don't manually
    download any dependencies (like
    spring), neither do you hand copy any
    jars to your projects lib folder. All
    this is taken care of automatically by
    maven when you run 'mvn install'. How
    do you package your application, is it
    war?</p>
  </blockquote>
  
  <p>I understand that. And it's clear to me that Maven automatically manages classpath for dependencies in my local repository so my project can work normally on my local machine. And I also red that you have an option to pack your dependencies jars in your WAR or EAR, but what if I want to pack my application as JAR together with all dependencies JARs inside output (target) folder? 
  You see, I don't want to deploy my JAR file with pom.xml only, but all the JARs that are needed for my application to run.</p>
  
  <hr>
  
  <p>It still does not work:</p>
  
  <p>this is my pom.xml:</p>
  
  <pre><code>&lt;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"&gt;
  
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  
  &lt;dependencies&gt;
  
      &lt;dependency&gt;
          &lt;groupId&gt;org.springframework&lt;/groupId&gt;
          &lt;artifactId&gt;spring&lt;/artifactId&gt;
          &lt;version&gt;3.0.0.&lt;/version&gt;
      &lt;/dependency&gt;
  &lt;/dependencies&gt;
  </code></pre>
  
  <p></p>
  
  <p>When I hit "mvn install" I get this exception:</p>
  
  <p>[INFO] Scanning for projects...
  [INFO] ------------------------------------------------------------------------
  [ERROR] FATAL ERROR
  [INFO] ------------------------------------------------------------------------
  [INFO] null
  [INFO] ------------------------------------------------------------------------
  [INFO] Trace
  java.lang.NullPointerException
          at org.apache.maven.artifact.versioning.DefaultArtifactVersion.parseVersion(DefaultArtifactVersion.jav
  a: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)
          at org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder.
  java:1017)
          at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:8
  80)
          at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProject
  Builder.java:508)
          at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
          at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
          at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
          at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
          at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
          at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
          at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
          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)
          at java.lang.reflect.Method.invoke(Unknown Source)
          at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
          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.java:375)
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time: &lt; 1 second
  [INFO] Finished at: Thu Feb 18 11:19:44 CET 2010
  [INFO] Final Memory: 1M/2M
  [INFO] ------------------------------------------------------------------------</p>