*在项目(模块)中添加代码混淆,采用allatori官网提供的allatori.jar放到项目lib目录下
本案例采用SpringBoot搭建
一、采用pom标签中添加
<!-- Allatori plugin start -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>run-allatori</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>java</executable>
<arguments>
<argument>-Xms128m</argument>
<argument>-Xmx512m</argument>
<argument>-jar</argument>
<!-- allatori混淆的jar文件目录 -->
<argument>${basedir}/lib/allatorijar</argument>
<!-- allatori混淆的配置文件-->
<argument>${basedir}/lib/allatori.xml</argument>
</arguments>
</configuration>
</plugin>
<!-- Allatori plugin end -->
二、添加代码混淆配置文件allatori.xml
<config>
<input>
<jar in="../target/framework-*.jar" out="../target/framework-*-obfuscated.jar"/>
</input>
<classpath basedir="../target/">
<jar name="lib/*.jar"/>
</classpath>
<ignore-classes>
<class template="class *springframework*" />
<class template="class *shardingjdbc*" />
<class template="class *jni*" />
<class template="class *alibaba*"/>
<class template="class *persistence*"/>
</ignore-classes>
<!-- 不替换类名、方法名、属性名 -->
<keep-names>
<!-- 设置需要特殊处理的类-->
<class template="class com.xxx.yyy.*">
<field access="protected+"/>
<method access="protected+"/>
</class>
</keep-names>
<property name="log-file" value="log.xml"/>
<property name="string-encryption" value="enable"/>
<property name="string-encryption-type" value="fast"/>
<property name="string-encryption-version" value="v4"/>
<property name="classes-naming" value="compact"/>
<!-- 设置默认包-->
<property name="default-package" value="com.xxxx.common"/>
<!-- 设置方法重命名规则-->
<property name="methods-naming" value="keywords"/>
<property name="fields-naming" value="keywords"/>
</config>