【发布时间】:2011-01-18 06:22:50
【问题描述】:
我刚刚从 .NET 过渡到 JAVA,必须使用 Spring 3.0.0 启动 JAVA 项目。和休眠。
有人可以向我解释一下如何使用 Maven 下载 spring 依赖项。我只是一整天都没有成功。
PS。我有 Java 1.5.06 并且已经下载了 spring(没有依赖项)并安装了 Maven。
编辑:
c0mrade:
我认为从春季 3.0.0 开始。他们是 被认为是可选依赖项 所以它们需要单独包含 每个依赖,这只是一个猜测 我不确定这一点,如果帕斯卡或 更有经验的人证实了我的 声明那么它是真的,到目前为止我已经 使用 spring 2.5.5
是的...它们绝对是可选的,所以这就是我所做的。我只是将 hibernate 依赖项从 spring-orm pom 文件复制/粘贴到 myproject pom 文件,这意味着现在我在 pom 文件中定义了 spring 和 hibernate 依赖项。然后我在 myproject 上运行“mvn install”,然后手动将所有 spring 和 hibernate jar 复制到我项目的 lib 文件夹中。
所以现在我有一个带有 spring 和 hibernate 的 Java 项目。 :)
我正在学习 Java,这只是我的第二天,所以如果我做错了什么,请告诉我。
更新:
rlovtang:
使用 maven 时,您无需手动操作 下载任何依赖项(例如 春天),你也没有手抄 jar 到您的项目 lib 文件夹。全部 这是由自动处理的 maven 当你运行'mvn install'。如何 你打包你的应用程序,是吗 战争?
我明白这一点。我很清楚 Maven 会自动管理本地存储库中依赖项的类路径,因此我的项目可以在本地机器上正常工作。而且我还认为您可以选择将您的依赖项 jar 打包到您的 WAR 或 EAR 中,但是如果我想将我的应用程序打包为 JAR 以及输出(目标)文件夹中的所有依赖项 JAR 怎么办? 你看,我不想只用 pom.xml 部署我的 JAR 文件,而是我的应用程序运行所需的所有 JAR。
还是不行:
这是我的 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>
当我点击“mvn install”时,我得到了这个异常:
[INFO] 正在扫描项目... [信息] ------------------------------------------------------------ ------------------------- [错误] 致命错误 [信息] ------------------------------------------------------------ ------------------------- [信息] 空 [信息] ------------------------------------------------------------ ------------------------- [信息] 追踪 java.lang.NullPointerException 在 org.apache.maven.artifact.versioning.DefaultArtifactVersion.parseVersion(DefaultArtifactVersion.jav 答:136) 在 org.apache.maven.artifact.versioning.DefaultArtifactVersion.(DefaultArtifactVersion.java:47) 在 org.apache.maven.artifact.versioning.VersionRange.createFromVersion(VersionRange.java:219) 在 org.apache.maven.project.artifact.ProjectArtifactFactory.create(ProjectArtifactFactory.java:37) 在 org.apache.maven.project.DefaultMavenProjectBuilder.processProjectLogic(DefaultMavenProjectBuilder. 爪哇:1017) 在 org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:8 80) 在 org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProject Builder.java:508) 在 org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200) 在 org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604) 在 org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487) 在 org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391) 在 org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272) 在 org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) 在 org.apache.maven.cli.MavenCli.main(MavenCli.java:362) 在 org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) 在 java.lang.reflect.Method.invoke(未知来源) 在 org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) 在 org.codehaus.classworlds.Launcher.launch(Launcher.java:255) 在 org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) 在 org.codehaus.classworlds.Launcher.main(Launcher.java:375) [信息] ------------------------------------------------------------ ------------------------- [INFO] 总时间:
【问题讨论】:
-
我还建议您通过示例阅读免费的电子书 maven,我基本上在几天内就学会了 maven,当然是基础知识.. 但我仍然不时问一两个关于 maven 的问题
-
@Goran pokusaj 3.0.0.RELEASE 正如 Kees de Kooter 建议的那样
-
@Tim 也许你应该帮助他而不是寻找重复的问题
-
@Goran,你做的怎么样了?
-
使用 maven 时,您无需手动下载任何依赖项(如 spring),也无需手动将任何 jar 复制到项目的 lib 文件夹中。当您运行“mvn install”时,所有这些都由 maven 自动处理。你如何打包你的应用程序,是不是战争?
标签: java spring maven-2 dependencies