我有一个Maven存储库,其中包含我想在其他项目上本地使用的jar文件。从Maven仓库下载这些jar文件的最佳方法是什么?
我去了http://mvnrepository.com/但是jar文件在我的构建中不起作用。我想要的是Maven构建jar文件,但是我无法将它们保存在Netbeans的项目中。
有没有办法下载Maven存储库中的所有文件?
答案 0 :(得分:9)
maven中心可能有数千个jar文件,所以我不会尝试下载所有这些文件。
通常,如果您想使用maven存储库中的jar,您可能想要自己启动maven项目;将pom.xml
配置为需要这些依赖项,它们将自动下载。
大多数Java IDE都有maven支持或maven插件。
- 编辑 -
以下是来自maven's website的一个非常快速的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>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Maven Quick Start Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
如果您正在使用eclipse,您可能希望m2e插件能够为您处理大部分内容。此外,它还将javadoc链接到这些罐子。 :)
答案 1 :(得分:3)
为什么不尝试使用Maven?使用Maven,您可以轻松自动管理您的依赖项。
这很简单。请检查此Maven in 5 minutes,以便您可以成功开始。有任何疑问,请告诉我。
- 编辑 -
只要您学习了一些主要概念,例如依赖项,就可以使用以下命令简单地启动项目:
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
之后,您只需使用以下命令导入到Eclipse等最常用的IDE:
mvn eclipse:eclipse
答案 2 :(得分:1)
显而易见的答案是建议您考虑使用Maven构建代码。这将为您提供对Maven Central存储库的本机支持。
但是......我觉得你只想将你需要的文件下载到本地目录? 在这种情况下,我建议使用Apache ivy command-line。
您想要的文件列在ivy.xml文件中。例如:
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
<info organisation="com.myspotontheweb" module="demo"/>
<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="2.6" conf="default"/>
<dependency org="junit" name="junit" rev="4.10" conf="default"/>
</dependencies>
</ivy-module>
ivy可以填充本地“lib”目录,如下所示:
java -jar ivy.jar -retrieve "lib/[artifact].[ext]" -ivy ivy.xml
这种方法的优点是常春藤可以下载您指定的模块的附加传递依赖项:
$ find lib -type f
lib/commons-lang.jar
lib/junit.jar
lib/hamcrest-core.jar
注意:强>
答案 3 :(得分:0)
工具mvn2get(https://github.com/groboclown/mvn2get)将下载适合在本地存储库中使用的已发布的Maven工件。其中包括POM文件,校验和文件和签名文件,以及能够搜索依赖项的文件。
它允许单行执行来下载文件:
$ mvn2get.py -d my-local-repo-dir --resolve log4j:log4j:1.2.17
我基于下载到本地存储库的类似需求编写了此脚本。