在具有多个模块的Maven项目中使用Proguard

时间:2012-05-24 18:42:39

标签: java maven obfuscation vaadin proguard

我无法制作Proguard Maven插件来混淆Web项目中的文件。我在Stackoverflow上尝试了一些解决方案 - 没有运气。

我的实际应用程序是基于Vaadin的Maven打包,但我现在创建了一个示例演示项目 https://github.com/taskadapter/projectX 来说明问题。 我的最终目标是创建一个Web应用程序WAR文件,其中包含所有maven模块(例如“util”)和Web应用程序代码(例如“SomeImportantHiddenClass”)的混淆。

构建失败:

  

[proguard]错误:输入不包含任何类。你是否   指定正确的'-injars'选项?

我看到http://maksim.sorokin.dk/it/2010/08/23/obfuscating-several-jars-in-one-single-maven-build-with-proguard/,但这对我没有意义。 如果我在项目中的每个maven模块上分别运行proguard插件,那么如果同一个项目中的其他模块都被“搞砸了”,它们将如何找到所需的类?

我假设我需要将proguard执行添加到root pom.xml或我的web模块,它实际上将东西打包到WAR文件中(参见GitHub上的项目)。

“injar”选项允许在混淆过程中添加Jars,但我希望插件能够找到我的模块并对它们进行模糊处理不用我硬编码“injar”值,例如“../util/target/ util.jar”。

加上proguard文档没有说“injars”选项,它只描述了“injar”配置参数。在这种情况下,它们都不起作用。

我也看到Proguard is saying it can't find any classes,但我不确定将所有类从“web”maven模块转移到另一个是正确的解决方案,并且不确定它是否仍然可行。我会继续努力......

0 个答案:

没有答案