我开始将项目转换为Maven,因为我只需要使用以二进制形式分布在Maven上的库,但是在将头撞在墙上的时间过长之后,我决定不再伤害自己,而只是使用蚂蚁。我只想让Maven将jar及其所有传递依赖项下载到我选择的目录中,这样我就可以像往常一样将它们检入SCM,并再次成为一名幸福的开发人员。
任何想法如何轻松做到这一点?
我开始将项目转换为Maven,因为我只需要使用以二进制形式分布在Maven上的库,但是在将头撞在墙上的时间过长之后,我决定不再伤害自己,而只是使用蚂蚁。我只想让Maven将jar及其所有传递依赖项下载到我选择的目录中,这样我就可以像往常一样将它们检入SCM,并再次成为一名幸福的开发人员。
任何想法如何轻松做到这一点?
Answers:
在Maven的依赖插件有可能解决您的问题。
如果您有一个已pom
指定所有项目依赖项的,则只需运行
mvn dependency:copy-dependencies
然后您将找到target/dependencies
包含所有依赖项(包括传递性)的文件夹。
从下面添加Gustavo的答案:要下载依赖项源,可以使用
mvn dependency:copy-dependencies -Dclassifier=sources
基于@Raghuram的答案,我找到了有关复制项目依赖项的教程,仅:
打开您的项目pom.xml
文件,找到以下内容:
<project>
[...]
<build>
<plugins>
...
</plugins>
</build>
[...]
</project>
比用替换<plugins> ... </plugins>
:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
并在命令行中调用Maven mvn dependency:copy-dependencies
完成后,它将在存在的当前目录的target/dependency
所有jar
依赖项中创建文件夹pom.xml
。
pom.xml
文件夹中。
mvn dependency:copy-dependencies
工作了!
我终于弄清楚了如何使用Maven。在Eclipse中,创建一个新的Maven项目。
下载Maven,解压缩存档,将/bin
文件夹添加到路径。
通过运行从命令行验证安装mvn -v
(将打印版本和Java安装路径)
转到项目根文件夹(pom.xml
位于此文件夹)并运行:
mvn dependency:copy-dependencies
所有jar文件都下载到/target/dependency
。
要设置另一个输出目录:
mvn dependency:copy-dependencies -DoutputDirectory="c:\temp"
现在,可以通过更改pom.xml将此Maven项目重新用于所有依赖项下载
通过构建路径->配置构建路径->库->添加JAR将jar添加到Java项目。
mvn dependency:copy-dependencies
按照您在该文件夹中的描述进行了调用,并将所有相关的jar文件很好地复制到了一个文件夹中。