maven-war-plugin:当 attachClasses 设置为 true 时,jar 在 nexus 中部署了两次

问题描述

我遇到了一个maven jar deployed twice in a war module with attachClasses set to true 中暴露的问题非常相似的问题,只是我的设置不同,而且似乎有帮助的方法这次对我不起作用。

这是我的设置:

             <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。避免使用副工件作为依赖项。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...