<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>copy-and-filter-allatori-config</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${basedir}/target</outputDirectory> <resources> <resource> <directory>${basedir}/allatori</directory> <includes> <include>allatori.xml</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <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> <argument>${basedir}/lib/allatori.jar</argument> <argument>${basedir}/lib/allatori.xml</argument> </arguments> </configuration> </plugin>
示例配置:
<config> <input> <!-- in表示输出的原始jar包,out表示输出的混淆后的jar包,后者名称可自定义,也可以是war --> <jar in="../target/akkaload-core-0.0.1-SNAPSHOT.jar" out="../target/akkaload-core-0.0.1-SNAPSHOT.jar"/> </input> <keep-names> <class access="protected+"> <field access="protected+"/> <method access="protected+"/> </class> </keep-names> <property name="log-file" value="log.xml"/> <!-- 忽略的包或类,这些文件将不被混淆 --> <ignore-classes> <!-- 不要混淆主类 --> <class template="class com.navi.akkaload.AkkaloadApplication" /> <!-- 不要混淆第三方的代码,否则会出现java.lang.NoClassDefFoundError --> <class template="class org.dom4j.*" /> <class template="class akka.actor.*" /> <class template="class *alibaba*" /> <class template="class *org*" /> <class template="class *rabbitmq*" /> <class template="class *springframework*" /> <class template="class *lombok*" /> </ignore-classes> <!-- 到期时间(到期后无法启动jar) 格式:yyyy/mm/dd--> <!--<expiry date="2021/04/03" string="SERVICE EXPIRED!"/>--> <!-- 随机命名混淆字符--> <!--<property name="random-seed" value="abcdef ghnljk svi"/>--> </config>