我将 maven-shaded-plugin 添加到我的项目中,它正确构建了着色的 uber jar,但仍然安装了原始的 Thin jar。我想安装阴影的超级罐子,以便下游项目可以依赖这个阴影的超级罐子。我该怎么做?谢谢。
这是我的 pom 文件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${plugin.shade.version}</version>
<configuration>
<shadeTestJar>true</shadeTestJar>
<shadedClassifierName>SHADED</shadedClassifierName>
<shadedArtifactAttached>true</shadedArtifactAttached>
<filters>
<filter>
<artifact>*:*</artifact>
</filter>
</filters>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>reference.conf</resource>
</transformer>
</transformers>
<artifactSet>
</artifactSet>
<!--<outputDirectory>${project.build.directory}/../../interpreter/python</outputDirectory>-->
<outputFile>${project.build.directory}/../../interpreter/python/${interpreter.jar.name}-${project.version}.jar</outputFile>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
我正在寻找相同的答案。我现在正在使用这个解决方法...不要指定<outputFile>
or <finalName>
在附加着色工件时在 Maven 阴影插件中。然后 Maven 将安装这两个 jar,并使用分类器作为两者之间的区别。
下游项目可以通过这种方式依赖阴影 jar:
<dependency>
<groupId>abc</groupId>
<artifactId>xyz</artifactId>
<version>${project.version}</version>
<classifier>SHADED</classifier>
</dependency>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)