Maven WAR插件/ Jenkins存储库连接器:省略传递依赖关系?

时间:2015-05-23 11:35:53

标签: maven jenkins continuous-integration war

场合

我有一个多模块Maven项目。在其中,我有几个JAR文物,然后它被组装成一个WAR文件。因此,WAR artefact取决于各种JAR文物(它还有一个WAR叠加层),其中大部分都带有范围"编译"。

构建和部署到存储库很好。但是当我尝试检索WAR人工制品时,我遇到了问题。以前,我使用一个简单的wget从Nexus API中检索它,但我想尝试Jenkins存储库连接器 - 最重要的原因是它实际上显示了可用版本的列表。

我在

中配置了一个存储库
Manage Jenkins -> Configure System -> Artifact Resolver

使用我们的repo的网址:

http://$NEXUS/nexus/content/repositories/releases/

然后在作业中,我添加一个参数:

Maven Repository Artifact

并使用上面配置的存储库,然后添加

Artifact Resolver

作为构建步骤并进行设置。

问题

我甚至不确定应该解决哪一方:当我运行作业试图从nexus获取WAR文件时,它也开始尝试检索各种传递依赖(其中一些是无法访问的)这个用户)并失败。我需要的只是WAR文件。没有传递依赖(因为它们已经包装在WAR中)。

Repository Connector插件似乎没有为此开关,而Maven方面可能完全可以将这些依赖项包含在输出POM中。

问题

如果要阻止存储库连接器检索传递依赖关系或以不同方式检索WAR工件,我该怎么办?对我来说也很有趣(但有点宽泛的问题)是关于做这种工作流程的一般想法。例如,有没有人使用其他方式将WAR 部署到他们的Nexus?

1 个答案:

答案 0 :(得分:0)

我向存储库连接器插件提交了一个补丁。

我的叉子:

https://github.com/rmalchow/repository-connector-plugin

致力于将其合并:

https://github.com/jenkinsci/repository-connector-plugin/pull/10