我已经安装了Maven并根据他们的指示创建了一个简单的项目。然后我添加了spring-context(根据Spring IO站点)依赖项。什么都没有发生。
{}咆哮 我讨厌春天把Maven推到我的喉咙! Maven在成熟的商店中是可怕的,无法阻止他们对Maven-itze数百件文物做什么。最重要的是,Spring现在以难以理解的方式分离了依赖关系。笨! {/咆哮}
我假设有一些方法可以简单地下载依赖项中的所有JAR。任何人都可以提供以“mvn”开头的pom.xml和命令行吗?
答案 0 :(得分:1)
如果定义了所有依赖项,那么您只需要运行mvn dependency:copy-dependencies
,然后maven({rant}伟大的工具{/ rant})将所有依赖项(包括传递依赖项)放到target/dependencies
夹
@See:http://maven.apache.org/plugins/maven-dependency-plugin/copy-dependencies-mojo.html
<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>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<groupId>com.test</groupId>
<artifactId>com.test</artifactId>
<properties>
<spring.version>3.2.2.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
</project>
答案 1 :(得分:0)
这是将Spring上下文依赖项添加到项目中的方法。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
现在它完全取决于你想要的东西。无论您运行什么mvn命令,依赖项将首先下载到您的Maven本地存储库,而不是您的项目。
在这里你也可以下载jar http://search.maven.org/#browse|-618956366,但这不是推荐的方法。
或者,您可以清除整个Maven本地存储库,然后在mvn package
或mvn install
之类的命令之后,将再次使用所有依赖项重新填充它。如果它是一个Web应用程序,您的战争将包含在WEB-INF/lib
所有依赖项中。如果要创建包含所有依赖项的jar,请参阅How can I create an executable JAR with dependencies using Maven?。
答案 2 :(得分:0)
我接受了拉尔夫的回答,但我想记录我完成任务所采取的步骤。只是为了澄清,我对Maven没有问题。 Spring遇到了一个很大的问题,迫使我使用它。
下载Maven,解压缩。请注意,它需要M2_HOME和JAVA_HOME属性,如果您不想使它们永久化,可以在CMD文件中设置这些属性。
运行此命令以使用pom.xml创建默认项目。请注意,执行此操作时,您应该处于空文件夹中。
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
进入刚刚创建的my-app文件夹并编辑pom.xml。请注意,Maven似乎需要JUnit依赖项进行测试。
<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>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.2.RELEASE</version>
</dependency>
</dependencies>
运行
mvn dependency:copy-dependencies
,您的项目现在应该有一个包含所有JAR的依赖项文件夹。