在我的 TestService 项目中,我有以下 pom.xml :
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>AnotherProject</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
和
<build>
<plugins>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>1.7</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>${mainClass}</mainClass>
</transformer>
</transformers>
<!-- exclude signed Manifests -->
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>${mainClass}</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugins>
<build>
我的 AnotherProject pom.xml 中的具有相同的 maven-jar-plugin 和 maven-shade-plugin 配置。
我的问题:
1)为什么我会看到如下警告:
[警告]我们有一个重复的org / apache / juli / logging / Log.class /home/xxx/.m2/repository/me/xxx/AnotherProject/1.0-SNAPSHOT/AnotherProject-1.0-SNAPSHOT.jar
如果我没有在 TestService 中包含显式的apache依赖项?
2)我试图通过 jar插件中的<forceCreation>true</forceCreation>
和 TestService中阴影插件中的<minimizeJar> true</minimizeJar>
来消除这些警告它没有给出结果。难道我做错了什么?这样做的正确方法是什么?
3) 如果可能,我该如何关闭所有这些[警告]?我不想在构建期间使用-q选项。