从maven-shade-plugin 1.6 开始,minimizeJar会保留filter中include配置的类,但是要注意: inlcude 默认会排除所有不在 include 配置中的类 这就会导致问题,我们来看个案例,我们引入logback依赖,但代码中未用到它,而我们又想将其下的 class 复制进 uber-jar,另外我们还想将 hutool 的cn/hutool/json包下的全部类都...
最小依赖 从maven-shade-plugin 1.6 开始,minimizeJar会保留filter中include配置的类,但是要注意: inlcude 默认会排除所有不在 include 配置中的类 这就会导致问题,我们来看个案例,我们引入logback依赖,但代码中未用到它,而我们又想将其下的 class 复制进 uber-jar,另外我们还想将 hutool 的cn/hutool/json包下的...
从maven-shade-plugin 1.6 开始,minimizeJar会保留filter中include配置的类,但是要注意: inlcude 默认会排除所有不在 include 配置中的类 这就会导致问题,我们来看个案例,我们引入logback依赖,但代码中未用到它,而我们又想将其下的 class 复制进 uber-jar,另外我们还想将 hutool 的cn/hutool/json包下的全部类都...
当然,如果包内的大部分类我们都不需要,一个个排除就显得很繁琐了。此时我们也可以使用 <includes> 标签来指定我们仅需要的类,示例如下: <project>...<relocation><pattern>org.codehaus.plexus.util</pattern><shadedPattern>org.shaded.plexus.util</shadedPattern><includes><include>org.codehaud.plexus.util.io...
maven-shade-plugin 在打包时,可以将项目中依赖的 jar 包中的一些类文件打包到项目构建生成的 jar 包中,在打包的时候把类重命名。下面的配置将 org.codehaus.plexus.util jar 包重命名为 org.shaded.plexus.util。 原文 If the uber JAR is reused as a dependency of some other project, directly including...
在maven工程中,我们常常遇到底层依赖包的版本冲突问题。如果高版本对低版本兼容,那么我们可以使用maven的exclusions排除掉低版本。但如果版本互不兼容,甚至是不同jar有相同类名的冲突,就比较棘手了。 比如,我在某个java工程中即使用了Hutool的加密工具类,也使用了openfeign的feign接口。而Hutool依赖了bcprov-jdk15to18...
打包时排除项⽬的properties类型的配置⽂件 打包时,com.baomidou组织的包添加到当然JAR包⾥,默认是不会添加到当前包的 createSourcesJar选项实现了打包时为源代码再打⼀个包 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <...
这里,类似Ant的模式用于指定依赖关系junit:junit中只有某些类/资源应该包含在uber JAR中。第二个过滤器演示了插件1.3版中引入的组件身份(artifact identity)通配符的使用。它从每个组件排除所有与签名相关的文件,而不管其组是什么或工件ID是什么。 除了用户指定的过滤器之外,插件还可以配置为自动删除项目未使用的所有依...
然后把这个shaded包引入项目中使用即可,如果要使用高版本poi只需要import shaded.org.apache.poi下的类即可。 参考: 巧用maven-shade-plugin解决依赖冲突 maven-shade-plugin官方文档 其他 排包举例,比如排除poi-tl中的poi包 <dependency> <groupId>com.deepoove</groupId> ...
在maven工程中,我们常常遇到底层依赖包的版本冲突问题。如果高版本对低版本兼容,那么我们可以使用maven的 exclusions 排除掉低版本。但如果版本互不兼容,甚至是不同jar有相同类名的冲突,就比较棘手了。 比如,我在某个java工程中即使用了Hutool的加密工具类,也使用了openfeign的feign接口。而Hutool依赖了 bcprov-jdk15...