CodeMeter Java 加密
 
                            WIBU
2021-01-07
1.准备工作
说明
安装包中包含自动加密工具AxProtector和授权工具License Editor,通常我们都使用AxProtector加密工具的图形界面来加密程序,由于JAVA需要调整较多参数,为方便用户,威步制作了一个批处理程序,通过修改配置XML即可进行快速加密。
Encrypt.bat和AxProtector.xml,如果您没有这些文件,请联系威步技术人员获取。2.配置加密参数
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<AxProtectorJava xmlns:wibu="http://wibu.com/2013/AxpJavaControlFile/1.0"> 
<CommandLine> 
<Command>-kcm</Command> 
<Command>-f6000010</Command> 
<Command>-p13</Command> 
<Command>-cf0</Command> 
<Command>-d:6.20</Command> 
<Command>-fw:3.00</Command> 
<Command>-sl</Command> 
<Command>-nn</Command> 
<Command>-u:com.wibu.xpm.MessageHandler</Command> 
<Command>-ci</Command> 
<Command>-jos</Command> 
<Command>-jff:c</Command> 
<Command>-jcp:"F:\lib\"</Command> 
<Command>-wu0</Command> 
<Command>-jh:n</Command> 
<Command>-we0</Command>
<Command>-eac</Command> 
<Command>-eec</Command> 
<Command>-v</Command> 
<Command>-o:"F:\protected\test.jar"</Command> 
<Command>"F:\test.jar"</Command> 
</CommandLine> 
<Wupi> 
<Jar EntryPoint="true" ClassProtectionLicenseList="None" MethodProtectionLicenseList="0"></Jar> 
</Wupi> 
</AxProtectorJava>
<Command>-f6000010</Command>:6000010为固定测试公司码,购买产品后需替换成正式公司码;(测试时请默认不要修改) <Command>-p13</Command>: 设置产品码;(测试时请默认不要修改) <Command>-jcp:"F:\lib\"</Command>: 设置所有依赖包的路径,需要把程序中用到的所有依赖包全都放置到该路径下,否则加密会提示错误。 <Command>"F:\test.jar"</Command>:设置需要加密的文件名和路径(支持jar,war等格式); <Command>-o:"F:\protected\test.jar"</Command> :设置文件加密后保存的路径和文件名;说明
 如果是普通可执行JAR包(包括Spring-Boot的程序),请去掉参数<Command>-jos</Command>。
 如果是Web程序,则按示例中加上参数<Command>-jos</Command>。加密成功后的文件夹中除了加密后的JAR文件,另多出一个WibuXpm4JRuntime.jar文件,请复制到WEB服务器的lib目录下,例如F:\ Tomcat 7.0\lib。而加密后的JAR包则替换掉原来的JAR包部署在TOMCAT下运行。
3.开始加密
AxProtector.xml和Encrypt.bat在同一目录里;Encrypt.bat开始加密;4.运行程序
说明
加密锁中写入对应的授权才能运行程序,授权即示例里公司码6000010,产品码13这组授权。(具体授权写入操作可参考CodeMeter使用手册授权章节)
WibuXpm4JRuntime.jar文件,请复制到WEB服务器的lib目录下,例如F:\ Tomcat 7.0\lib。而加密后的JAR包则替换掉原来的JAR包部署在TOMCAT下运行。5.加密SPRING-BOOT
说明
•	JAVA项目中的Spring-boot由于结构特殊,所以需要通过以下步骤来进行加密处理
•	针对Srping-boot的程序加密,请使用另外2个加密配置Encrypt_SpringBoot.bat和AxProtector_SpringBoot.xml,可联系威步技术人员获取。
Encrypt_SpringBoot.bat和AxProtector_SpringBoot.xml拷贝在同一目录。Encrypt_SpringBoot.bat,开始加密。AxProtector.log文件,打开日志在最后几行里显示如下信息则说明加密成功;加密失败则会有Error信息,请联系威步技术人员解决。说明
•	加密锁中写入对应的授权才能运行程序,授权即示例里公司码6000010,产品码13这组授权。(具体授权写入操作可参考CodeMeter使用手册授权章节)
•	AxProtector_SpringBoot.xml里可设置要绑定的授权。
<Command>-f6000010</Command>
<Command>-p13</Command>
6.常见问题解决方法
1. 加密过程中报错找不到依赖类,要求用‘’-jcp‘’参数指定依赖包存放目录。报错截图如下:
解决办法:
D:\test\lib下,然后在上述XML文件中加入参数<Command>-jcp:"D:\test\ lib"</Command>;-jcp参数指定这个目录。2. 加密过程中报错有重名的class或者文件 。报错如下:
解决办法:
请先把该jar在其他目录里保存复制一份),然后打开后找到重复的名字的class,删除掉后重新加密。加密完成之后请把原始未删除的jar再覆盖回去。Encrypt_SpringBoot.bat进行修改,在参数tfJar后面把报错的jar名字添上,然后保存退出,再执行该bat进行加密则不会再报错。