Java Maven Shade插件没有重新定位commons日志
我无法让maven shade插件在另一个包中重新定位类 OcpSoft意外地在漂亮的faces jar中遮住了一个CommonLogging IML。这使得禁用一些恼人的日志消息几乎是不可能的,因为普通的commons日志配置不会被它们的着色impl获取 我认为解决这个问题的最佳方法是创建JCL-SLF4J桥的着色版本。然而,我似乎无法让maven shade插件真正重新定位所需的类Java Maven Shade插件没有重新定位commons日志,java,maven,maven-shade-plugin,Java,Maven,Maven Shade Plugin,我无法让maven shade插件在另一个包中重新定位类 OcpSoft意外地在漂亮的faces jar中遮住了一个CommonLogging IML。这使得禁用一些恼人的日志消息几乎是不可能的,因为普通的commons日志配置不会被它们的着色impl获取 我认为解决这个问题的最佳方法是创建JCL-SLF4J桥的着色版本。然而,我似乎无法让maven shade插件真正重新定位所需的类 <dependencies> <dependency>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.30</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<relocations>
<relocation>
<includes>org</includes>
<shadedPattern>org.ocpsoft.shade.org</shadedPattern>
</relocation>
</relocations>
<artifactSet>
<includes>
<include>org.slf4j:jcl-over-slf4j</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
我原以为上面的类会出现在
org.ocpsoft.shade.org.apache.commons.
包中,但现在不太清楚原因,但将其添加到配置中可以使其工作:
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer" />
</transformers>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer" />
</transformers>