码迷,mamicode.com
首页 > Web开发 > 详细

使用idfc-proguard-maven-plugin混淆优化Jave Web工程一

时间:2016-04-26 21:36:03      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:


本文旨在说明用idfc-proguard-maven-plugin这个插件来优化混淆Java Web项目的代码。


本文使用的代码出自这里:

http://www.codejava.net/frameworks/struts/struts-2-spring-4-hibernate-4-integration-tutorial-part-1-xml-configuration


可以看到这个maven项目的结构是一个经过裁剪的结构。没有了 src/main/java, src/main/resources, src/main/webapp 这样的东东。 虽然结构精简了,但是代码却没有精简。我们用idfc-proguard-maven-plugin这个maven的插件来优化混淆我们的代码。 只要.pro文件配置得当,在保证代码运行正确的基础上,优化效果还是不错的。


我们要实现的效果是 将优化混淆后的.class文件打成一个jar包,放在WEB-INF/lib下,作为一个普通的jar包。 classes文件夹下只有配置文件。 如struts.xml和hibernate的配置文件等。 最后将war包放在tomcat下正确运行起来。


先大致的看一下过程,详细的讲解和代码后面会补上。


这是我们的项目结构:

技术分享


编译路径:

技术分享


部署路径:

技术分享


先mvn clean 一下,清空target文件夹里的东西:

技术分享


技术分享

然后mvn package一下:

技术分享


技术分享


反编译工具打开我们的war包: 注意,此时.hbm.xml放在resources文件夹下。跟src文件夹下的相应的entity具有同级结构

技术分享


可以看到.hbm.xml文件在classes目录下。也可以把 .hbm.xml文件和.class文件放在一块,都放在jar包里。 注意此时.hbm.xml跟entity都在src下的包下。

技术分享


运行结果。注意web应用上下文已经改成abc了:

技术分享

为了避免文章太长,读起来累。详细讲解,我放在另一篇文章里了。


使用idfc-proguard-maven-plugin混淆优化Jave Web工程一

标签:

原文地址:http://blog.csdn.net/ahau10/article/details/51232720

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!