如何解决maven-war-plugin:当 attachClasses 设置为 true 时,jar 在 nexus 中部署了两次
我遇到了一个与 maven jar deployed twice in a war module with attachClasses set to true 中暴露的问题非常相似的问题,只是我的设置不同,而且似乎有帮助的方法这次对我不起作用。
这是我的设置:
- 一个多模块,包含 2 个项目,A 和 B,B 取决于 A
- 由于 A 主要是打包一个 WAR,我通过将 attachClasses 设置为 true 来配置 war-plugin,以便生成一个 classes.jar 文件,这使得 B 可以依赖于 A (see here for more on this)立>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries><Build-Time>${maven.build.timestamp}</Build-Time></manifestEntries>-->
</archive>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
除了当 Jenkins 尝试在 Nexus 上部署时,它尝试部署文件 classes.jar 两次而导致失败之外,一切正常。
有人知道吗?
解决方法
多模块项目的架构是次优的。
将 A 和 B 都需要的类提取到新模块 C 中,让 A 和 B 依赖于 C。避免使用副工件作为依赖项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。