使用xjar
背景:
spring boot开发的项目,需要对jar包进行一些处理,使用了xjar。
一、在启动类的pom.xml添加如下配置
<!-- 添加 XJar 依赖 --> <dependency> <groupId>com.github.core-lib</groupId> <artifactId>xjar</artifactId> <version>4.0.2</version> <!-- <scope>test</scope> --> </dependency> <!-- 设置 jitpack.io 仓库 --> <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories>
二、新建XjarPackage启动类,代码如下
package com.fast; import io.xjar.XCryptos; public class XjarPackage { /** *jar包加密 */ public static void main(String[] args) { try { XCryptos.encryption() .from("D:\\project\\engine\\starter\\target\\engine.jar") // 加密的密码 .use("123456") // 要加密的资源 .include("/**/*.class") .include("/**/*.xml") .include("/**/*.yml") .include("/**/*.yaml") // 加密后的jar,此时:通过jd-gui反编译失败 .to("D:\\build\\engine.jar"); System.out.println("======》完成"); }catch (Exception e){ e.printStackTrace(); } } }
XjarPackage启动类,会在D:/build目录下生成待加密的文件,接着在D:/build目录下执行
go build xjar.go
等完成以后,jar的加密就完成了
三、执行加密后的jar
在D:/build目录下执行如下命令:
xjar java -jar engine.jar
参考资料:
https://blog.csdn.net/qq_47770103/article/details/120785090
https://blog.csdn.net/qq_33278354/article/details/106278539