使用Xjar给SpringBoot项目jar包加密
1. 新建一个SpringBoot项目
2. 在pom文件添加依赖,github地址:https://github.com/core-lib/xjar
<dependencies>
<!-- 添加 XJar 依赖 -->
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.2</version>
</dependency>
</dependencies>
<!-- 设置 jitpack.io 仓库 -->
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
3. 新建一个测试类
3.1 指定文件路径
import io.xjar.XCryptos;
public class XJarEncrypt {
public static void main(String[] args) throws Exception {
XCryptos.encryption()
.from("E:\\Project\\test\\target\\test-0.0.1.jar")
.use("123456")
.include("/**.class")
.include("/**.yml")
.include("/**/*.xml")
.include("/**.html")
.to("E:\\Project\\test\\target\\test-0.0.2.jar");
System.out.println("加密完成");
}
}
3.2 获取当前项目jar包路径
package com.liyh.xjar;
import io.xjar.XCryptos;
public class XJarEncrypt {
public static void main(String[] args) throws Exception {
XCryptos.encryption()
.from(System.getProperty("user.dir") + "/target/test-0.0.1.jar")
.use("123456")
.include("/**.class")
.include("/**.yml")
.include("/**/*.xml")
.to(System.getProperty("user.dir") + "/target/test-0.0.2.jar");
System.out.println("加密完成");
}
}
4. 运行成功,到输出目录查看(生成三个文件)
5. Linux环境运行Jar包
5.1 首先目标系统有yum,主要环境是golang俗称go
5.2 没有的就要自己搞repo或者直接wget安装吧
yum list | grep golang
yum install -y golang
5.3 安装成功查看版本
go version
5.4 把文件传到linux上,注意需要两个文件(test-0.0.2.jar
和xjar.go
)
5.5 进入jar包上传的目录下运行下面命令
go build xjar.go
5.6 得到xjar文件
5.7 运行jar包:普通运行
./xjar java -jar new.jar
5.8 运行jar包:后台运行(三种方式都可以,前两种可以输出日志)
nohup ./xjar java -jar test-0.0.2.jar &
nohup ./xjar java -jar test-0.0.2.jar > new.out &
./xjar java -jar test-0.0.2.jar &
6. Windows环境运行Jar包
6.1 官网下载golang安装包,并安装好,下载地址
6.2 配置环境变量
当前下载的是1.19.3,安装好后默认在环境变量上已经有了GO_HOME,是默认的系统用户目录,如需要,可以改成自建的目录
此时在CMD里面跑一下go version,会显示如下版本
6.3 进入jar包上传的目录下运行下面命令
go build xjar.go
6.4 得到xjar.exe
6.5 然后操作启动jar包即可
xjar.exe java -jar new.jar