JAVA程序保护03_Proguard(java程序包)
ProGuard 是一个免费的Java类文件的压缩,优化,混淆器。但是实际试用后,并不觉得它做得很好,很难用。
ProGuard有两大问题:
- 需要大量配置
- 它的思路是混淆编译后的字节码,混淆后往往出很多异常。
ProGuard基本使用方法:
- 项目的Pom.xml中加入打包时将依赖文件拷贝到lib的插件(目的是提取出项目依赖的JAR包供ProGuard使用)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.7.0</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
- 打包项目
打包完成后,可看到生成的JAR包和依赖的库
- 运行proguard
- 指定输入、输出和依赖
依赖加入
C:\Java\jdk-21\jmods\*.jmod
D:\demoServer\target\lib\*.jar
- 忽略警告
- 混淆处理