gpt4 book ai didi

java - 使用 Maven 下载 Spring 3.0.0 依赖项

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:32 25 4
gpt4 key购买 nike

我只是从 .NET 过渡到 JAVA,并且必须使用 Spring 3.0.0 启动 JAVA 项目。和 hibernate 。

有人可以向我解释 step_by_step 如何使用 Maven 下载 spring 依赖项。我花了一整天的时间,完全没有成功。

附注。我有 Java 1.5.06 并且已经下载了 spring(没有依赖项)并安装了 Maven。

编辑:

c0mrade:

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



是的......它们绝对是可选的,所以这就是我所做的。我只是将 spring-orm pom 文件中的 hibernate 依赖项复制/粘贴到 myproject pom 文件中,这意味着现在我在 pom 文件中定义了 spring 和 hibernate 依赖项。然后我在 myproject 上运行了“mvn install”,然后将所有 spring 和 hibernate jar 手动复制到我的项目的 lib 文件夹中。

所以现在我有一个带有 spring 和 hibernate 的 Java 项目。 :)

我正在学习 Java,这只是我的第二天,所以如果我做错了什么,请告诉我。

更新:

罗洛唐:

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?



我明白那个。我很清楚 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”时,出现此异常:

[信息] 正在扫描项目...
[信息] ----------------------------------------------- -------------------------
[错误] 致命错误
[信息] ----------------------------------------------- -------------------------
[信息] 空
[信息] ----------------------------------------------- -------------------------
[信息] 跟踪
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.
java :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(Unknown Source)
在 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)
[信息] ----------------------------------------------- -------------------------
[信息] 总时间:< 1 秒
[信息] 完成时间:2010 年 2 月 18 日星期四 11:19:44 CET
[INFO] 最终内存:1M/2M
[信息] ----------------------------------------------- -------------------------

最佳答案

实际上,您的 POM 是错误的,它缺少必要的部分。你至少需要这样的东西(这是一个最小的 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>

要添加 spring 依赖项,我建议使用以下内容:
<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>

有关 Spring 工件的完整列表,请查看 Obtaining Spring 3 Artifacts with Maven并拿起你需要的东西。

更新:仅供引用,有很多 repository search engines这可以帮助您找到文物。如果您不习惯 Maven,这可能会有所帮助。另请注意,您可以获得一些 IDE 支持(Idea、Eclipse、NetBeans,我认为它们都提供了存储库搜索功能)。实际上,在您的情况下,我建议使用 SpringSource Tools Suite (STS) 它是 Eclipse 的集成版本(捆绑了一些用于 Spring 项目开发的插件,包括 Maven 支持)。 STS 是一个完全集成的环境,非常接近您在 .NET 世界 IMO 中可以获得的环境。你会喜欢的。

关于java - 使用 Maven 下载 Spring 3.0.0 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2287718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com