如何保护我们的源代码,实际上,应该有几种方法可以使用:1、使用代码混淆器 2、重载应用服务器的classloader
使用代码混淆器proguard进行代码混淆
1.首先下载proGuard.zip到本地: proguard4.5beta4.tar.zip解压开,
2.新建文本文档,修改文件名为XXX.pro,然后复制下面内容到.pro
-injars 'Y:\src.jar' #需要混淆的jar-outjars 'Y:\java\src.jar' #输出jar-libraryjars 'C:\java\jre6\lib\rt.jar' #必须的系统类库-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\activation-1.1.jar' #项目需要的jar-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\ant.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\antlr-2.7.6.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\asm-attrs.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\asm.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\aspectjrt.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\aspectjweaver.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\axis-ant.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\axis.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\backport-util-concurrent.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\bsf-2.3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\bsh-2.0b4.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\c3p0-0.9.1.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\cfgatewayadapter.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\cglib-2.1.3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\ckeditor-java-core-3.5.3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\CKFinder-2.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\CKFinderPlugin-FileEditor-2.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\CKFinderPlugin-ImageResize-2.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\cmpp3.0-java.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-attributes-api.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-attributes-compiler.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-beanutils-1.8.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-codec-1.3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-collections-3.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-configuration-1.6.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-dbcp-1.2.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-discovery-0.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-fileupload-1.2.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-io-2.0.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-lang-2.3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-logging-1.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-logging-api-1.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-pool.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\commons-validator-1.3.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\concurrent.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\dom4j-1.6.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\dwr.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\ehcache-1.5.0.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\ejb3-persistence.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\fckeditor-java-core-2.4.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\freemarker-2.3.15.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\generic-hession-api-0109.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\gson-1.7.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\hessian-4.0.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\hibernate-annotations.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\hibernate-commons-annotations.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\hibernate-entitymanager.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\hibernate-validator.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\hibernate3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\im4java-1.3.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jackson-core-asl-1.3.0.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jackson-mapper-asl-1.3.0.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jakarta-oro-2.0.8.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\Java2Word.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\javassist-3.4.GA.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jaxrpc.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jboss-archive-browsing.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jdbc2_0-stdext.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jdom.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jetty-6.1.24.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jetty-plus-6.1.24.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jetty-util-6.1.24.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jsf-api.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jsf-impl.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\json-lib-2.3-jdk15.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\json_simple-1.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jstl-1.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jstl-api-1.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jstl-impl-1.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jta.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\jtds-1.2.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\junit.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\log4j-1.2.15.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\mail-1.4.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\mysql-connector-java-5.1.22-bin.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\ognl-2.7.3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\ojdbc5.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\p6spy.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\pager-taglib.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\poi-3.6-20091214.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\quartz-all-1.6.6.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\servlet-api-2.5-20081211.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\SimpleAPI.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\sitemesh-2.3.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\slf4j-api-1.5.8.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\slf4j-log4j12-1.5.8.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\spring.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\standard.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\struts2-core-2.1.8.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\struts2-dojo-plugin-2.1.8.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\struts2-json-plugin-2.3.1.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\struts2-sitemesh-plugin-2.1.8.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\struts2-spring-plugin-2.1.8.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\struts2-sunspoter-stream-1.0.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\Thumbnailator-0.3.10.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\urlrewrite-2.6.0.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\velocity-1.7.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\velocity-tools-2.0.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\wsdl4j-1.5.1.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\xalan.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\xstream-1.2.2.jar'-libraryjars 'Y:\kf\WebRoot\WEB-INF\lib\xwork-core-2.1.6.jar'-dontskipnonpubliclibraryclassmembers-target 1.5-dontshrink-dontoptimize-useunique