在Spring Boot Plugin重新打包之前执行自定义操作

时间:2014-11-13 16:41:33

标签: java maven spring-boot obfuscation

我想在Spring Boot Plugin构建最终WAR文件之前运行自定义操作。实际上,我必须在$ {project.build.directory} / $ {project.build.finalName} / WEB-INF / lib中混淆一些JAR文件,然后再将它们打包到WAR文件中。

我可以为常规WAR文件执行此操作,但是当Spring Boot Plugin重新打包应用程序时,它会创建一个新的WAR文件,它似乎会执行JAR文件的全新副本,而不是从$ {project中选择混淆的文件。 build.directory} / $ {project.build.finalName} / WEB-INF / lib中。

非常感谢任何帮助。

此致

2 个答案:

答案 0 :(得分:1)

如您所料,Spring Boot使用jar文件的新副本。没有办法改变这种行为。我认为你最好的选择可能是在重新包装完成后进行混淆。您还没有说过您正在使用哪种混淆工具,但可以使用<injar><outjar>配置设置对现有存档运行Proguard

答案 1 :(得分:0)

最后,我想出了一个简单的解决方案。在包阶段结束时,我在相应的JAR文件上运行我的混淆工具,例如Allatori,然后我使用Exec Maven插件来更新由Spring Boot Plugin构建的WAR文件(如果不是,则使用WAR插件)使用JAR可执行文件作为explained there使用Spring Boot Plugin。