在构建过程中,我需要着色两次。为什么执行此操作与问题并没有真正的关系,但这是原因:因为我先隐藏自己的依赖项,然后才混淆了第一个胖子,然后我也希望隐藏第三方依赖项。
Firs的困难是使目标按正确的顺序运行。默认情况下,如果一切都发生在包装阶段(这看起来很合逻辑),则两个阴影都将连续执行,然后进行混淆处理。我设法调整了Maven阶段,以使目标以正确的顺序执行,但现在我陷入了困境,因为似乎:
maven-jar-plugin
因此,我最终得到了一个模糊的部分阴影罐子,以及一个完全阴影的不模糊罐子。
我找不到将特定的源jar强制设置为阴影配置的相关选项。 Shade documentation没有提供任何线索。我想我可以通过适当执行所有操作来解决我的问题,但我宁愿不这样做。
答案 0 :(得分:1)
我对source code进行了简短的扫描,实际上,从插件版本3.2.1开始,似乎无法在配置中指定输入jar。 550行周围的错误消息特别提到了jar
插件对jar的要求。有些open issues似乎要求类似的要求。
不过,在检查了文档之后,我想知道是否可以配置一些东西来继续覆盖主jar(target/my-artifact-1.0.0.jar
)。换句话说,配置第一个阴影执行和混淆处理以将输出定向到该文件。然后,第二个阴影执行将具有正确的输入。这种方法的缺点是没有中间文件可以分析是否出了问题。
在这种情况下,也许最好按照MSHADE-304的注释中的建议编写自定义转换器。