java war maven 混淆 css/js class 加密
网上找了一堆 不用浪费时间了 看官方网站 或者去google搜索 不知道怎么google的去百度 老D 不得不说外国的月亮比较圆 底下的解决方案不是全部只能打包jar 没有混淆
<!-- ProGuard混淆插件 --> <plugin> <groupId>com.github.wvengen</groupId> <artifactId>proguard-maven-plugin</artifactId> <version>2.0.11</version> <executions> <execution> <!-- 混淆时刻,这里是打包的时候混淆 --> <phase>prepare-package</phase> <goals> <!-- 使用插件的什么功能,当然是混淆 --> <goal>proguard</goal> </goals> </execution> </executions> <configuration> <!-- 是否将生成的PG文件安装部署 --> <attach>true</attach> <!-- 是否混淆 --> <obfuscate>true</obfuscate> <!-- 指定生成文件分类 --> <attachArtifactClassifier>pg</attachArtifactClassifier> <options> <!-- JDK目标版本1.7 --> <option>-target 1.7</option> <!-- 不做压缩(删除注释、未被引用代码) --> <option>-dontshrink</option> <!-- 不做优化(变更代码实现逻辑) --> <option>-dontoptimize</option> <!-- 不跳过非公用类文件及成员 --> <option>-dontskipnonpubliclibraryclasses</option> <option>-dontskipnonpubliclibraryclassmembers</option> <!-- 优化时允许访问并修改有修饰符的类和类的成员 --> <option>-allowaccessmodification</option> <!-- 使用独特的混淆类的成员名称来增加混淆 --> <option>-useuniqueclassmembernames</option> <!-- 不混淆所有包名,本人测试混淆后WEB项目问题实在太多,毕竟Spring配置中有大量固定写法的包名 --> <option>-keeppackagenames</option> <!-- 不混淆所有特殊的类 --> <option>-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod</option> <!-- 不混淆所有的set/get方法,毕竟项目中使用的部分第三方框架(例如Shiro)会用到大量的set/get映射 --> <!-- 这一句会薄报错 --> <!-- <option>-keepclassmembers public class * {void set*(***);***get*();}</option> --> <!-- 不混淆测试包下的所有类名,且类中的方法也不混淆,但是属性混淆 --> <!-- <option>-keep class com.jikexueyuancrm.test.** { <methods>; --> <!-- }</option> --> <!-- 以下因为大部分是Spring管理的Bean,不对包类的类名进行混淆,但对类中的属性和方法混淆 --> <option>-keep class cn.com..front.web.**</option> <option>-keep class cn.com..front.service.**</option> <!-- 不混淆model包中的所有类以及类的属性及方法,实体包,混淆了会导致ORM框架及前端无法识别 --> <option>-keep class cn.com..front.filter.** {*;}</option> <option>-keep class cn.com..base.** {*;}</option> <option>-keep class cn.com..front.dao.** {*;}</option> <option>-keep class cn.com..front.utils.** {*;}</option> <option>-keep class cn.com..front.mybatis.** {*;}</option> <option>-keep class cn.com..front.dto.** {*;}</option> <option>-keep class cn.com..job.** {*;}</option> <option>-keep class cn.com..pay.** {*;}</option> <option>-keep class cn.com..sms.** {*;}</option> </options> <outjar>classes</outjar> <!-- 添加依赖,这里你可以按你的需要修改,这里测试只需要一个JRE的Runtime包就行了 --> <libs> <lib>${java.home}/lib/rt.jar</lib> <lib>${java.home}/lib/jsse.jar</lib> <lib>${java.home}/lib/jce.jar</lib> </libs> <!-- 对什么东西进行加载,这里仅有classes,毕竟你也不可能对配置文件及JSP混淆吧 --> <injar>classes</injar> <!-- 输出目录 --> <outputDirectory>${project.build.directory}</outputDirectory> </configuration> </plugin>
登录后复制
<plugin> <groupId>com.samaxes.maven</groupId> <artifactId>minify-maven-plugin</artifactId> <version>1.7.5</version> <executions> <execution> <id>assets-minify</id> <phase>process-resources</phase> <configuration> <!-- css --> <cssEngine>YUI</cssEngine> <cssSourceDir>assets</cssSourceDir> <cssSourceIncludes> <cssSourceInclude>styles/**/**.css</cssSourceInclude> </cssSourceIncludes> <!-- <cssSourceExcludes> <cssSourceExclude>vendors/**.css</cssSourceExclude> </cssSourceExcludes> --> <!-- js --> <jsEngine>CLOSURE</jsEngine> <jsSourceDir>assets</jsSourceDir> <jsSourceIncludes> <jsSourceInclude>scripts/**/**.js</jsSourceInclude> </jsSourceIncludes> <!-- <jsSourceExcludes> <jsSourceExclude>vendors/**/*.min.js</jsSourceExclude> </jsSourceExcludes> --> <!-- others --> <skipMerge>true</skipMerge> <nosuffix>true</nosuffix> <verbose>false</verbose> </configuration> <goals> <goal>minify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <warSourceExcludes>assets/styles/**/**.css,assets/scripts/**/**.js</warSourceExcludes> <warName>${project.artifactId}</warName> </configuration> </plugin> </plugins>
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前
By DDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前
By DDD
<🎜>:死铁路 - 如何完成所有挑战
4 周前
By DDD
Atomfall指南:项目位置,任务指南和技巧
1 个月前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

公司安全软件导致部分应用无法正常运行的排查与解决方法许多公司为了保障内部网络安全,会部署安全软件。...

系统对接中的字段映射处理在进行系统对接时,常常会遇到一个棘手的问题:如何将A系统的接口字段有效地映�...

在使用MyBatis-Plus或其他ORM框架进行数据库操作时,经常需要根据实体类的属性名构造查询条件。如果每次都手动...

在使用IntelliJIDEAUltimate版本启动Spring...

将姓名转换为数字以实现排序的解决方案在许多应用场景中,用户可能需要在群组中进行排序,尤其是在一个用...

Java对象与数组的转换:深入探讨强制类型转换的风险与正确方法很多Java初学者会遇到将一个对象转换成数组的�...

在使用TKMyBatis进行数据库查询时,如何优雅地获取实体类变量名以构建查询条件,是一个常见的难题。本文将针...

理解Spring项目启动中循环依赖的随机性在进行Spring项目开发时,可能会遇到项目启动时由于循环依赖导致的随机...
