混淆Java源代码以分发给客户端

jos*_*ino -3 java obfuscation proguard source-code-protection maven

我想知道是否有办法生成我的maven项目的模糊可构建版本并将其交给客户,混淆只是为了保护并使其难以窃取.

我正在使用proGuard来混淆jar,但是这个混淆是在ByteCode级别,就像它在这个线程中回答的那样Obfuscate Java源代码

如果无法进行混淆,我怎么能分发我的源代码并确保它不会被盗(或者只是通过组织不当来使其变得困难),尽管客户端应该能够构建和运行代码.

编辑:需要执行操作:

1-从源代码中删除所有注释.

2-将所有类合并到一个包中.

3-有无意义的类名:(例如A,B,C ......)

4-删除所有单元测试.

FiR*_*iTi 7

混淆的目的是隐藏源代码,使逆向工程变得不可能.proGuard非常适用于此.

当您将源代码提供给客户时,您想要的是法律保护您的源代码.最好的办法是与律师交谈,以便为您的客户将收到并签署的给定代码附上法律形式,承认代码是您的,并且他不能将其重新用于不同的目的,如合约.