我的项目从父级继承了它的compile
依赖项,我无法控制它 - 无法将它们更改为provided
。
此外,我已添加另一个依赖'a:b:1.0.0'
到我项目的pom。我想只将'a:b:1.0.0'
与自己的依赖项(递归)包含在我的超级jar中。
似乎assembly
和shade
插件都不支持此类情况。
怎么做到这一点?
感谢
答案 0 :(得分:0)
递归着色有一些明显的缺点。特别是,仅使用单个版本的文件覆盖来自多个依赖项的重复文件的问题。这可能会导致一些非常烦人的问题在运行时进行故障排除。你最好使用像spring boot这样的东西来构建一个独立的jar,而不是将文件整形到一个单独的层次结构中,将依赖库作为子目录嵌入到自身中并包含在类路径中。
http://docs.spring.io/spring-boot/docs/current/maven-plugin/repackage-mojo.html