【发布时间】:2017-02-23 14:51:42
【问题描述】:
在我们公司,我们使用 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 签名导致插件执行失败。
有人生成了fat Maven 插件吗?如果是,怎么做?
【问题讨论】:
-
你需要创建一个jar jar 文件吗?正确的。如果是这样,请使用 maven-assembly-plugin 或 maven-shade-plugin。此外,使用 repo.jenkins-ci.org 是下载 maven 插件的错误位置。 Maven 插件位于 Maven Central 中,默认情况下在 Maven 中配置。最好是开始使用存储库管理器......
-
no @khmarbaise,我需要创建一个 FAT maven 插件,根据定义,它是一个 Jar 文件。我为此使用了 maven-plugin-plugin。
-
这个插件的目的是什么?所以你重写了 maven-shade-plugin/maven-assembly-plugin。
-
@khmarbaise 它是一个公司插件,可以进行一些代码分析。我不想拥有一个 20kb 的 maven 插件,而是想要一个完整的 jar,其中包含所有依赖项。
标签: java maven maven-3 maven-plugin