如何使用Maven简单地下载JAR?
如何在内置Maven脚本期间下载JAR 通常情况下,Maven不用于“下载”,而是用于构建过程。因此,通常需要执行以下步骤:如何使用Maven简单地下载JAR?,maven,jar,Maven,Jar,如何在内置Maven脚本期间下载JAR 通常情况下,Maven不用于“下载”,而是用于构建过程。因此,通常需要执行以下步骤: 通过定义项目的原型和一些所需的属性来定义新项目 将要使用的库定义为依赖项 使用mvn compile运行Maven 作为一个副作用,您将已将该库下载到本地Maven存储库中。有很多插件可以处理依赖项,因此请看一看。Maven不是这样工作的。以下是您最接近我的知识: mvn dependency:get -DremoteRepositories=http://repo1.m
mvn compile运行Maven
作为一个副作用,您将已将该库下载到本地Maven存储库中。有很多插件可以处理依赖项,因此请看一看。Maven不是这样工作的。以下是您最接近我的知识:
mvn dependency:get -DremoteRepositories=http://repo1.maven.org/maven2/ \
-DgroupId=junit -DartifactId=junit -Dversion=4.8.2 \
-Dtransitive=false
请注意,除transitive之外的所有参数都是必需的。还要注意的是,Maven会将jar下载到本地存储库中,而且(据我所知)没有明智的方法将其复制到本地目录中
mvn dependency:get -Dartifact=org.riversun:random-forest-codegen:1.0.0 -Ddest=./
参考资料:
对于Maven 2:
这些是maven将从中获取JAR的存储库(无论如何是一个镜像)——您可以在您选择的webbrowser中轻松访问它们,并下载JAR等。只需浏览层次结构(它看起来像任何Java Package层次结构),直到找到工件,然后选择正确的版本,就可以了 例如,在org.hibernate组的hibernate core 3.6.6.Final版本中,您可以在下面找到: 或者从3.1开始,简单地说
mvn依赖项:get-Dartifact=org.springframework:spring instrument:3.2.3.RELEASE
请参阅。这对我来说真的很好
我的用例是,我想下载一些依赖项jar以部署到QA服务器,并且是手动完成的(在Maven构建之外)。我不确定您的用例是什么。转到。
搜索您想要下载的工件,从结果列表中选择版本,然后简单地下载捆绑包。注意:这个答案适用于
直接从maven下载JAR,而不需要任何脚本。
[这就是Google在这里指导我的方式]
假设mvn
依赖关系如下:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.4.7</version>
</dependency>
com.zaxxer
然后搜索g:“com.zaxxer”和a:“HikariCP”和v:“2.4.7”
(只需搜索HikariCP
也可以。您可能需要从结果中选择适当的GroupId
和版本
)
在搜索结果->下载
列中,您应该看到jar javadoc.jar sources.jar
可直接下载您可以设置一个pom.xml来定义依赖项(您要复制的jar)。然后使用目标将Jar复制到所需位置。您可以将Jar包下载到特定目录
mvn dependency:get -Dartifact=org.riversun:random-forest-codegen:1.0.0 -Ddest=./
使用下面的代码剪贴
result = subprocess.check_output('mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get \
-DgroupId=%s \
-DartifactId=%s \
-Dversion=%s \
-Dtransitive=false \
-DremoteRepositories={repos_string} \
-Dpackaging=jar \
-DoutputDirectory=%s' % (group_id,
artifact_id,
version_name,
des_path), shell=True)
logger.info("success download jar: %s" % each_version)
except Exception as e:
logger.error("Error in download jar : %s" % str(e))
可以从Gitlab Maven私有存储库下载JAR。这个URL是在运行某个Maven命令时出现的,所以有点粗糙,但对我来说是有效的
像这样:
wget --header "PRIVATE-TOKEN: ${GITLAB_PRIVATE_TOKEN}" "https://gitlab.com/api/v4/projects/${GITLAB_PROJECT_ID}/packages/maven/${MAVEN_PACKAGE_NAME}/${MAVEN_VERSION}/${JAR_FILE}"
在哪里,
- GITLAB_PRIVATE_令牌是一个具有正确“api”的GITLAB令牌(其他令牌不够)
- GITLAB_项目ID,例如146237
- MAVEN_包名称,例如com/bar/foo
- MAVEN_版本,例如0.0.1
- JAR_文件,例如foo-0.0.1.JAR
您可以使用:
mvn dependency:copy -Dartifact=<group>:<artifact-name>:<version> -DoutputDirectory=/tmp/my_custom_dir
mvn依赖项:复制-Dartifact=:
注意:另一种“dependecy:get”方法已被弃用。+1或use,它有一个搜索界面,并提供指向工件的直接链接。我尝试上面的ibiblio链接时,它们是空目录。肖恩与mvnrepository.com的链接运行良好。谢谢下载到哪里?有或没有POM?另请参见:bundle是什么意思?警告:maven的默认下载链接不使用https,在假设您的下载没有被破坏之前,请仔细检查url。当一个jar文件依赖于十几个其他jar文件,而这些文件本身可能依赖于更多的jar文件时,一次下载一个是非常耗时的。这个答案与maven无关,因此不回答OP的问题。对于那些不想这样做的人了解maven:运行命令mvn dependency:copy dependencies
,查看/target/dependency/
以查看所有必需的jars@chrispolzer它在Maven Dependency Plugin 2.8中执行,同时输出有关弃用的警告消息。它在当前版本(3.1.1)中不再工作。在jenkins管道步骤中定义“正常”,您只需要下载并部署一个jar:)对于像我这样不了解Maven但被迫使用它的人:它在~/.m2/repository/
中下载jar。它工作正常,但我必须在包周围放上“”,比如-Dartfiact=“groupId:artifactId:version.”Was using powershell.dest已被弃用。这可以通过两个命令完成:mvn dependency:get-Dartifact=org.riversion:random-forest-codegen:1.0.0:0.8.5:jar:nodeps mvn dependency:copy-Dartifact=org.riversion:random-forest-codegen:1.0.0:jar:nodeps-doutdirectory=。