如何解决将另一个依赖项休眠的所有依赖项着色到jar中
我想将Hibernate核心的所有依赖项自动隐藏到我的主jar中,而无需显式定义它们(因为这似乎已成为一种追赶之路)。
我不能只是将所有内容都隐藏在我的jar中,因为不需要其他依赖关系,这会使我的jar不必要地庞大。
是否有可能让Maven自动遮蔽顶层依赖项之一的所有依赖项?
解决方法
您可以将不需要阴影的依赖项的范围设置为“已提供”,并且将标记为表明该库在运行时已提供/假定可用。
其余的依赖项(未指定范围或具有“编译”范围)应为jar需要着色的那些依赖项。
然后在pom中使用与此类似的内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
,
Shade插件支持选择性inclusion,exclusion,filtering and minimization of a jar。这应该可以解决问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。