Maven 阴影插件 - Jar 和依赖项
Maven shade plugin - Jar and dependencies
我正在使用 shade 插件来遮蔽 org.apache.poi jar,因为 Tomcat 服务器上有一个旧版本。我有一个问题,因为这个 jar 引用了其他 jar(commons-compress、xmlbeans、commons-collections)。我怎样才能不仅遮蔽这个罐子而且遮蔽它的参考罐子?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedClassifierName>shaded</shadedClassifierName>
<shadedArtifactAttached>true</shadedArtifactAttached>
<relocations>
<relocation>
<pattern>org.apache.poi</pattern>
<shadedPattern>hidden.org.apache</shadedPattern>
</relocation>
</relocations>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/maven/**/*</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
我试图重新定位所有的罐子,但这是不可能的。
我将所有逻辑放在外部微服务上,并从 Pentaho 内部调用。我不知道这是否是最好的解决方案,但我找不到另一个。
我正在使用 shade 插件来遮蔽 org.apache.poi jar,因为 Tomcat 服务器上有一个旧版本。我有一个问题,因为这个 jar 引用了其他 jar(commons-compress、xmlbeans、commons-collections)。我怎样才能不仅遮蔽这个罐子而且遮蔽它的参考罐子?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedClassifierName>shaded</shadedClassifierName>
<shadedArtifactAttached>true</shadedArtifactAttached>
<relocations>
<relocation>
<pattern>org.apache.poi</pattern>
<shadedPattern>hidden.org.apache</shadedPattern>
</relocation>
</relocations>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/maven/**/*</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
我试图重新定位所有的罐子,但这是不可能的。
我将所有逻辑放在外部微服务上,并从 Pentaho 内部调用。我不知道这是否是最好的解决方案,但我找不到另一个。