如何从Maven存储库下载带有分类器的JAR?

时间:2018-10-29 11:41:54

标签: java maven command-line maven-dependency-plugin

我正在尝试从maven存储库下载名为mygroup-myid-myversion-jar-with-dependencies.jar的JAR并尝试使用命令

mvn -q org.apache.maven.plugins:maven-dependency-plugin:2.1:get -DrepoUrl=MYURL -Dartifact=mygroups:myid:myversion:jar-with-dependencies

mvn -q org.apache.maven.plugins:maven-dependency-plugin:2.1:get -DrepoUrl=MYURL -Dartifact=mygroups:myid:myversion-jar-with-dependencies

都失败了,并出现无法找到工件的错误。

这个附录叫做“分类器”吗?

如何通过分类器卸载JAR?

2 个答案:

答案 0 :(得分:1)

如果要下载更多内容,请使用-Dclassifier=<classifier>-Dclassifiers=<classifiers>

这对我有用:

mvn com.googlecode.maven-download-plugin:download-maven-plugin:artifact -DgroupId=org.jolokia -DartifactId=jolokia-jvm -Dversion=1.6.0 -Dclassifier=agent 

答案 1 :(得分:0)

这件事发生在我身上。我在一个互联网站点上有一个远程存储库,我们的内部联系没有从此主机远程获取那些依赖项。我们有一个安全设置,只有nexus服务器可以从外部连接,而我们的开发机无法访问这些远程存储库主机。

所有工件都很好,可以通过代理存储库下载,但有些则不能,特别是像下面带有依赖项分类器的工件一样。

<dependency>
    <groupId>com.asset</groupId>
    <artifactId>integration-adapter</artifactId>
    <version>1.28.76</version>
    <classifier>jar-with-dependencies</classifier>
</dependency>

以下是适用于我们的开发团队的步骤。

1。)作为管理员,我可以远程下载那些有问题的工件。

2。)从受保护的主机上使该文件可用。

3。)点击Nexus https://support.sonatype.com/hc/en-us/articles/213465818-How-can-I-programmatically-upload-an-artifact-into-Nexus-2-上的此链接

4。)这就是我构建/部署内部回购的方式,以便客户可以在自己的项目特定构建期间下载。

mvn deploy:部署文件-DgroupId = com.asset -DartifactId =集成适配器-Dversion = 1.28.76 -Dclassifier = jar-with-dependencies -DgeneratePom = true -Dpackaging = jar -DrepositoryId = nexus -Durl = “ http:// your-nexus-host:8081 / nexus / content / repositories / repo-releases /” -Dfile = integration-adapter-1.28.76-jar-with-dependencies.jar -DupdateReleaseInfo = true

以上述方式进行操作会在我们的企业关系中创建pom文件和元数据,以便maven客户可以下载这些工件。

5。)在您的.pom文件中,请在下面添加以下依赖项:

就像在此远程存储库(外部主机)中一样,这些文件是直接上传的,这就是为什么缺少maven pom文件的原因,我们作为消费者/客户无法使用他们拥有的其他工作构件正常构建它。

注意:因此,如果您要向外界发布工件并使其可下载,请确保您知道并阅读上面的第3步。

相关问题