【环境配置】配置maven

Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

以上文字摘抄自百度百科
http://baike.baidu.com/view/336103.htm?fr=aladdin


0. 搭建maven

maven环境搭建可以参考下面这篇文章。

http://wentao365.iteye.com/blog/903396


1. 配置proguard

1) 修改pom.xml添加插件

  1. <plugin>  
  2.             <groupId>com.pyx4me</groupId>  
  3.             <artifactId>proguard-maven-plugin</artifactId>  
  4.             <executions>  
  5.                 <execution>  
  6.                     <phase>package</phase>  
  7.                     <goals>  
  8.                         <goal>proguard</goal>  
  9.                     </goals>  
  10.                 </execution>  
  11.             </executions>  
  12.             <configuration>  
  13.                 <obfuscate>true</obfuscate>  
  14.                 <proguardInclude>${basedir}/proguard.conf</proguardInclude>  
  15.                 <!-- 添加依赖,这里你可以按你的需要修改 -->  
  16.                 <libs>                           
  17.                     <lib>${java.home}/lib/rt.jar</lib>  
  18.                     <lib>lib/fcexporter_jdk1.5.jar</lib>  
  19.                     <lib>lib/fcexporthandler.jar</lib>    
  20.                     <lib>lib/jsp-api.jar</lib>  
  21.                     <lib>lib/servlet-api.jar</lib>  
  22.                 </libs>  
  23.                 <addMavenDescriptor>false</addMavenDescriptor>  
  24.             </configuration>  
  25.             <dependencies>   
  26.                 <!-- 使用4.8版本来混淆 -->  
  27.                 <dependency>  
  28.                     <groupId>net.sf.proguard</groupId>  
  29.                     <artifactId>proguard</artifactId>  
  30.                     <version>4.8</version>  
  31.                     <scope>runtime</scope>  
  32.                 </dependency>  
  33.             </dependencies>  
  34.               
  35.         </plugin>   

2) 在pom.xml平级目录下添加proguard.conf文件
  1.    
  2.   
  3. # ----------------------------------  
  4. #  通过指定数量的优化能执行  
  5. #  -optimizationpasses n  
  6. # ----------------------------------  
  7. -optimizationpasses 3  
  8.   
  9. # ----------------------------------  
  10. #   混淆时不会产生形形色色的类名   
  11. #   -dontusemixedcaseclassnames  
  12. # ----------------------------------  
  13. -dontusemixedcaseclassnames  
  14. # ----------------------------------  
  15. #      指定不去忽略非公共的库类  
  16. #  -dontskipnonpubliclibraryclasses  
  17. # ----------------------------------  
  18. #-dontskipnonpubliclibraryclasses  
  19.   
  20. # ----------------------------------  
  21. #       不预校验  
  22. #    -dontpreverify  
  23. # ----------------------------------  
  24. # -dontpreverify  
  25.   
  26. # ----------------------------------  
  27. #      输出生成信息  
  28. #       -verbose  
  29. # ----------------------------------  
  30. -verbose  
  31.   
  32. #混淆时应用侵入式重载   
  33. -overloadaggressively   
  34.    
  35. #优化时允许访问并修改有修饰符的类和类的成员   
  36. -allowaccessmodification  
  37. #确定统一的混淆类的成员名称来增加混淆   
  38. -useuniqueclassmembernames  
  39.   
  40.   
  41.   
  42. #这里添加你不需要混淆的类  
  43.   
  44. -keep  class com.zsoftware.common.cache.** {*;}   
  45. -keep  class com.zsoftware.common.constant.** {*;}   
  46. -keep  class com.zsoftware.common.dwr.** {*;}   
  47. -keep  class com.zsoftware.common.servelt.** {*;}   
  48. -keep  class com.zsoftware.common.util.** {*;}   
  49. -keep  class com.zsoftware.Component.** {*;}   
  50. -keep  class com.zsoftware.interfacepkg.** {*;}   
  51. -keep  class com.zsoftware.model.** {*;}   
  52. -keep  class com.zsoftware.view.** {*;}   
  53. -keep  class com.zsoftware.webResource.** {*;}   
  54.   
  55. -keep public class * extends  javax.servlet.Servlet  
  56.    
  57. -keepdirectories  **  
  58. -keepattributes **  
  59.    
  60.   
  61. #-keepnames class * implements java.io.Serializable  
  62. # ---------保护所有实体中的字段名称----------  
  63. -keepclassmembers class * implements java.io.Serializable {  
  64.     <fields>;  
  65. }  
  66.   
  67. # --------- 保护类中的所有方法名 ------------  
  68. -keepclassmembers class * {  
  69.     public <methods>;  
  70. }  
  71.   
  72.   

原文地址:https://www.cnblogs.com/xiaomaohai/p/6158009.html