我有一个(长长的)清单,列出了我的uber-jar中不应该包含的内容,我想要包含其中的内容,以便我可以进行配置并删除重复项。
我查看了mvn package
打印的输出,其中列出了很多
[INFO] Including aaa.bbb:ccc.ddd:jar:x.y.z in the shaded jar
但是我可以肯定的是,当我使用minimizeJar
选项时,其中的一些不包括在内。并且查看输出jar仅允许知道所包含的类(很难跟踪依赖项)
问题:我使用的是哪种配置,如何获得实际上已合并到uberjar中的依赖项列表?
答案 0 :(得分:0)
我对maven-shade-plugin
不熟悉,但是您尝试过mvn dependency:tree吗?它应该列出项目的所有依赖项及其子依赖项。
编辑:我重新阅读了您的问题,看来您需要最终uber-jar的完整依赖关系树。快速浏览maven-shade-plugin
页后,我发现所有依赖项都将打包到uber-jar中。这应该是mvn dependency:tree
输出的内容,但是jar tf <uber-jar>.jar
也可以list the jar's contents。您可能必须过滤掉父目录(例如com /)和清单文件。
答案 1 :(得分:0)
这不是我要寻找的答案,但是为了信息共享,这是我要做的工作,以查找从阴影罐中删除哪个依赖项:
mvn dependency:list > dep.list
mvn dependency:tree
和我的头来查找父级可以删除的大多数依赖项<scope>provided<scope/>
<keepDependenciesWithProvidedScope>false</keepDependenciesWithProvidedScope>
乏味...