一:手动加密
pom依赖
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.2</version>
</dependency>
</dependencies>
把项目打包
编写main方法,设置加密相关参数
public static void main(String[] args) throws Exception {
XCryptos.encryption()
.from("打包生成的jar位置--绝对路径")
.use("123456")
.include("/**/*.class")
.include("/**/*.yml")
.include("/**/*.xml")
.to("加密之后jar包的位置--绝对路径");
}
生成解密文件及加密后的jar包(运行上面的main方法)
编译脚本
1 // 在jar包所在的目录打开命令界面,输入go build xjar.go 得到xjar.exe文件
2 go build xjar.go
启动jar包
xjar.exe java -jar 生成jar的名称
Maven配置自动加密
添加依赖
<!--xjar加密-->
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.1</version>
</dependency>
<build>
<plugins>
<plugin>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar-maven-plugin</artifactId>
<version>4.0.1</version>
<executions>
<execution>
<goals>
<goal>build</goal>
</goals>
<phase>install</phase>
<!-- 或使用
<phase>install</phase>
-->
<configuration>
<!-- <password>别看了,明文密码不可能写在这的</password> -->
<!-- optional <algorithm/> <keySize/> <ivSize/> <includes> <include/>
</includes> <excludes> <exclude/> </excludes> <sourceDir/> <sourceJar/> <targetDir/>
<targetJar/> -->
<excludes>
<exclude>
static/**
</exclude>
<exclude>
templates/**
</exclude>
<exclude>
resources/META-INF/**
</exclude>
<exclude>
resources/i18n/**
</exclude>
<exclude>
META-INF/resources/**
</exclude>
</excludes>
<targetJar>${project.artifactId}-encrypt.jar</targetJar>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>
打包命令
mvn clean install "-Dxjar.password=密码" "-Dmaven.test.skip=true"
会直接生成这三个文件
运行go build xjar.jar名称生成xjar.exe
运行xjar.exe java -jar 包名.jar启动项目