如何使用maven-plugin-plugin生成Fat Maven插件?

时间:2017-02-23 14:51:43

标签: java maven maven-3 maven-plugin

在我们公司,我们使用maven-plugin-plugin v3.5创建了一个Maven插件,通常包含20kb。

该问题在两天前开始,因为repo.jenkins-ci.org代理无法正常工作。因此,我们的客户端构建受到影响,因为无法下载我们的插件的依赖项,因为以下构建失败:

Failed to collect dependencies at our-project:jar:1.6.2 -> our-project:jar:1.6.2 -> com.devfactory.utqg:utqg-github:jar:1.6.2 -> org.kohsuke:github-api:jar:1.77 -> com.infradna.tool:bridge-method-annotation:jar:1.14 -> org.jenkins-ci:annotation-indexer:jar:1.4: Failed to read artifact descriptor for org.jenkins-ci:annotation-indexer:jar:1.4: Could not transfer artifact org.jenkins-ci:jenkins:pom:1.26 from/to repo.jenkins-ci.org (http://repo.jenkins-ci.org/public/): Failed to transfer file: http://repo.jenkins-ci.org/public/org/jenkins-ci/jenkins/1.26/jenkins-1.26.pom. Return code is: 502 , ReasonPhrase:Bad Gateway. -> [Help 1]

所以,我们解决这个问题的方法主要是创建一个Fat Maven插件(不是Fat Jar!)。但是,使用Maven Shade插件不适合复制工件,因为插件执行因jar签名而失败。

有没有人生成胖Maven插件?如果是,怎么样?

1 个答案:

答案 0 :(得分:1)

  

这个问题是两天前开始的,因为repo.jenkins-ci.org代理不是   好好工作。因此,我们的客户端构建受到影响,因为无法下载插件的依赖项,

我建议您运行自己的Maven Repository Manager以避免这类问题:https://maven.apache.org/repository-management.html

在settings.xml(镜像)中配置单个组:http://books.sonatype.com/nexus-book/2.8/reference/maven-sect-single-group.html

不要管理POM中的存储库,而只能管理Maven存储库管理器中的代理。