2011-08-18 59 views
30

如何在构建Maven脚本期间下载JAR?如何简单地使用Maven下载JAR?

+0

下载到哪里?有或没有POM?另请参阅:http://stackoverflow.com/questions/1776496/a-simple-command-line-to-download-a-remote-maven2-artifact-to-the-local-reposito –

回答

6

通常,您不使用Maven进行“下载”,而是使用Maven进行构建。所以通常情况下,你做以下步骤:

  1. 通过定义你的项目和一些需要的属性的原型定义一个新的项目。
  2. 定义您想要使用的库的依赖关系。
  3. 运行Maven与mvn compile

作为一个副作用,你将已经下载了库你的本地仓库。有很多插件可以用来进行依赖关系的操作,例如,看看Maven Dependency plugin

38

Maven不能像那样工作。这里是最接近我的知识:

mvn dependency:get -DremoteRepositories=http://repo1.maven.org/maven2/ \ 
        -DgroupId=junit -DartifactId=junit -Dversion=4.8.2 \ 
        -Dtransitive=false 

请注意除传递的所有参数都是必需的。
另请注意,Maven会将jar下载到您的本地存储库,并且没有明智的方法(我知道)将其复制到本地目录。

参考:

+2

repoUrl已弃用,现在不需要吗? – marstone

+0

@marstone现在是'remoteRepositories'。谢谢 –

+1

-Ddest = Path/to/your/Destintation应该工作吗? –

4

如果你只是想从一个行家镜下载JAR一次,我建议你可以只手动执行此操作:

Maven的1 :
http://mirrors.ibiblio.org/pub/mirrors/maven/

对Maven 2:
http://mirrors.ibiblio.org/pub/mirrors/maven2/

这些都是库(镜反正)Maven将获得它的JAR文件从 - 您可以轻松地在您所选择的网页浏览器和下载的JAR等只需浏览过层次结构(它看起来像任何Java packag层次结构),直到找到人造物,然后选择正确的版本,并且你很好。

例如从组org.hibernate作为版本休眠核心3.6.6.Final你会发现这里:

http://mirrors.ibiblio.org/pub/mirrors/maven2/org/hibernate/hibernate-core/3.6.6.Final/

+1

+1或使用http://mvnrepository.com/,它有一个搜索界面,并提供直接链接到工件。 –

+0

上面的ibiblio链接是我尝试它们时的空目录。肖恩与mvnrepository.com的链接运行良好。谢谢! –

29

或者从3.1开始,就像 mvn dependency:get -Dartifact=org.springframework:spring-instrument:3.2.3.RELEASE

5

请参阅How to use Maven pom to download jar files only。这对我来说非常合适。

我的用例是我想下载一些依赖关系的jar来部署到QA服务器,并且是手动的(在Maven构建之外)。我不确定你的用例是什么。

1

转至http://mvnrepository.com。 搜索要下载的工件,从结果列表中选择版本,然后下载捆绑软件。

15

注:这个答案是downloading the jars directly from maven without any scripts [这是谷歌如何针对我在这里]

假设mvn的依赖是这样的:

<dependency> 
    <groupId>com.zaxxer</groupId> 
    <artifactId>HikariCP</artifactId> 
    <version>2.4.7</version> 
</dependency> 

转到http://search.maven.org和搜索g:"com.zaxxer" AND a:"HikariCP" AND v:"2.4.7"(只是搜索HikariCP也您可能需要从结果中选择合适的GroupIdVersion

Search Results -> Download列,你应该看到jar javadoc.jar sources.jar可供直接下载

1

你可以设置一个pom.xml来定义你的依赖关系(你想要复制的jar)。然后使用dependency:copy-dependencies目标将罐子复制到所需位置。