maven proguard混淆代码

 在pom.xml中插入以下代码:然后根据自己需要修改 <option>-keep class com.lzs.*.dao.**{*;}</option>

<!-- ProGuard混淆插件-->
		<plugin>
		   <groupId>com.github.wvengen</groupId>
		   <artifactId>proguard-maven-plugin</artifactId>
		   <version>2.1.0</version>
		   <executions>
		      <execution>
		         <!-- 混淆时刻,这里是打包的时候混淆-->
		         <phase>package</phase>
		         <goals>
		            <!-- 使用插件的什么功能,当然是混淆-->
		            <goal>proguard</goal>
		         </goals>
		      </execution>
		   </executions>
		   <configuration>
		      <!-- 是否将生成的PG文件安装部署-->
		      <attach>true</attach>
		      <!-- 是否混淆-->
		      <obfuscate>true</obfuscate>
		      <!-- 指定生成文件分类 -->
		      <attachArtifactClassifier>pg</attachArtifactClassifier>
		      <options>
		         <!-- JDK目标版本1.8-->
		         <option>-target 1.8</option>
		         <!-- 不做收缩(删除注释、未被引用代码)-->
		         <option>-dontshrink</option>
		         <!-- 不做优化(变更代码实现逻辑)-->
		         <option>-dontoptimize</option>
		         <!-- 不路过非公用类文件及成员-->
		         <option>-dontskipnonpubliclibraryclasses</option>
		         <option>-dontskipnonpubliclibraryclassmembers</option>
		         <!--不用大小写混合类名机制-->
		         <option>-dontusemixedcaseclassnames</option>
		 
		         <!-- 优化时允许访问并修改有修饰符的类和类的成员 -->
		         <option>-allowaccessmodification</option>
		         <!-- 确定统一的混淆类的成员名称来增加混淆-->
		         <option>-useuniqueclassmembernames</option>
		         <!-- 不混淆所有包名-->
		         <option>-keeppackagenames</option>
		 
		         <!-- 需要保持的属性:异常,注解等-->
		         <option>-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod</option>
		         <!-- 不混淆所有的set/get方法 -->
				<option>-keepclassmembers public class * {void set*(***);*** get*();}</option>
		 
 		          <!--不混淆包下的所有类名,且类中的方法也不混淆  -->
		         <option>-keep class com.lzs.*.dao.**{*;}</option>
		         <option>-keep class com.lzs.*.entity.**{*;}</option>
		         <option>-keep class com.lzs.app.**{*;}</option>
		         <option>-keep class com.lzs.common.**{*;}</option>
		         <option>-keep class com.lzs.*.action.**</option>
		         <option>-keep class com.lzs.*.service.**</option>
		 
		      </options>
		      <!--class 混淆后输出的jar包-->
		      <outjar>hx.jar</outjar>
		      <!-- 添加依赖,这里你可以按你的需要修改,这里测试只需要一个JRE的Runtime包就行了 -->
		      <libs>
		         <lib>${java.home}/lib/rt.jar</lib>
		         <lib>${java.home}/lib/jce.jar</lib>
		      </libs>
		      <!-- 对什么东西进行加载,这里仅有classes成功,毕竟你也不可能对配置文件及JSP混淆吧-->
		      <injar>classes</injar>
		      <!-- 输出目录-->
		      <outputDirectory>${project.build.directory}</outputDirectory>
		   </configuration>
		</plugin>

最后可以使用: mvn clean package -DskipTests -Pprod 打包生成混淆后的jar包

之后吧hx.jar解压后,替换到war包里的class文件,即可部署到服务器上

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猩猩之火

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值