Java Maven多模块&x2B;程序混淆
我正在将一个带有proguard模糊处理的java netbeans项目从ant转移到maven多模块。我是maven的新手,在阅读和尝试了很多解决方案和架构几天后,我仍然很迷茫 从我所看到的情况来看,有几种方法可以构建我的项目:Java Maven多模块&x2B;程序混淆,java,maven,proguard,obfuscation,Java,Maven,Proguard,Obfuscation,我正在将一个带有proguard模糊处理的java netbeans项目从ant转移到maven多模块。我是maven的新手,在阅读和尝试了很多解决方案和架构几天后,我仍然很迷茫 从我所看到的情况来看,有几种方法可以构建我的项目: option 1: option 2: module top module top module A module A module B
option 1: option 2:
module top module top
module A module A
module B module B
module C module C
module assembly
模块之间有内部依赖关系。
“moduletop”是一个代码很少的模块,它充当包装器。
在选项1中,用于打包项目的pom.xml位于“模块顶部”。
在选项2中,“模块组装”没有逻辑,只有用于打包项目的pom.xml
我的目标是将项目打包到一个胖jar中,其中内部模块将使用proguard插件进行模糊处理
到目前为止,我所尝试的:
我设法混淆了一个模块,但由于模块相互依赖,我需要保留整个接口结构,否则模块在包装在一起时就不适合
我已经为整个项目创建了一个胖jar文件,并使用proguard对其进行了模糊处理。因为它是一个大文件,大约2000万,所以这个过程花费了很多时间,大约15分钟。输出文件很小,大约4米,无法工作
现在,我正试图在构建过程中将所有代码组装到分发jar中,并将其与库jar分离。我的目标是只混淆我的模块,稍后再添加库(这是我在当前的ant项目中看到的对我有用的东西)
到目前为止,我所有的尝试都没有产生一个有效的过程。我不能附加pom文件,因为我在尝试新东西时一直在更改它们
总而言之,我认为有以下几种选择:
project
target
dist-obsfucated.jar
lib
moduleA.jar
moduleB.jar
moduleC.jar
other_file1.jar
other_file2.jar
如何将所有jar组装到一个可执行jar中?我需要告诉汇编插件忽略lib文件夹中未提示的模块A到C
编辑#2
我设法用“maven antrun插件”解决了这个问题。首先,在不混淆的情况下构建您的项目,并确保一切正常。因为maven和ant完全不同。多模块maven项目是您必须应对的另一个挑战。毕竟,您应该非常熟悉maven来完成多模块项目的模糊处理。事实上,在我有足够的maven经验之前,我并不建议这样做。我不确定是否有帮助,但我找到了那个链接,谢谢你的回答。没有maven的项目是可行的。我甚至成功地生成了一个胖jar文件。我看过你提到的链接,但它没有真正提到他最终是如何解决这个问题的。正如我所说,这里有完全不同的挑战需要克服。maven,多模块,模糊处理。所以,一次尝试一个,否则这真的会是一场噩梦。我在6-7年前就这样做过。我们有一个多模块的网络项目。据我记忆所及,我们分别混淆了每个罐子。但它花了将近一个月的时间才运行起来,我们对maven很满意。大部分时间用于proguard配置。首先,在不混淆的情况下构建项目,并确保一切正常。因为maven和ant完全不同。多模块maven项目是您必须应对的另一个挑战。毕竟,您应该非常熟悉maven来完成多模块项目的模糊处理。事实上,在我有足够的maven经验之前,我并不建议这样做。我不确定是否有帮助,但我找到了那个链接,谢谢你的回答。没有maven的项目是可行的。我甚至成功地生成了一个胖jar文件。我看过你提到的链接,但它没有真正提到他最终是如何解决这个问题的。正如我所说,这里有完全不同的挑战需要克服。maven,多模块,模糊处理。所以,一次尝试一个,否则这真的会是一场噩梦。我在6-7年前就这样做过。我们有一个多模块的网络项目。据我记忆所及,我们分别混淆了每个罐子。但它花了将近一个月的时间才运行起来,我们对maven很满意。大部分时间用于proguard配置。