jar包代码非常重要,我们需要保护好我们的知识产权,所以加密就成了一门很重要的技术,下面先说一个开源的(开源的大家都懂,不是很安全)
xjar开源免费,所以尝试了一下
以下是github地址
https://github.com/core-lib/xjar
首先项目引入依赖
注意,如果想xjar在test类进行加密,就需要 <scope>test</scope>
<!--注入xjar加密jar包-->
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>xjar</artifactId>
<version>4.0.2</version>
<scope>test</scope>
</dependency>
<!--需要的一个通道加载器-->
<dependency>
<groupId>com.github.core-lib</groupId>
<artifactId>loadkit</artifactId>
<version>1.0.1</version>
</dependency>
如果是maven有可能下载失败这时候需要手动去maven仓库下载jar包然后我们安装上maven仓库
maven 仓库地址 https://mvnrepository.com/search?q=jackson
从maven仓库下载完之后呢
需要安装到我们本地的maven仓库才能使用
安装上面这张图片进行替换
mvn install:install-file -Dfile=url -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=jar
安装成功后
mvn install:install-file -Dfile=/Users/liubobo/Desktop/xjar-4.0.2.jar -DgroupId=com.github.core-lib -DartifactId=xjar -Dversion=4.0.2 -Dpackaging=jar
其中命令中 -DremoteRepositories=是maven仓库的http地址,而-Dfile=则是本地下载下来的需引用的jar包的磁盘路径
刷新项目依赖,进行打包
然后写个测试类,进行加密jar包,具体看官网,官网地址在上面
XCryptos.encryption()
.from("D:/a.jar")
.use("123456")//加密的密码
.exclude("/static/**/*")
.exclude("/META-INF/resources/**/*")
.to("D:/a-mix.jar");
加密后看到a-mix.jar是加密后的jar包,那么当前的目录是下有两个go文件
如果是window启动jar包的话,则需要安装go环境,然后执行go build /xjar.go的路径/xjar.go 会在当前用户目录下生成xjar.exe
比如
则会在 C:\Users\hp下生成xjar.exe文件,然后将文件放在jar包同级目录下
然后打开cmd命令,执行 xjar java -jar a-mix.jar 启动,后台启动一样的,只是在我们平时启动jar包的时候加上xjar,window则需要xjar.exe启动,linux则安装好go环境后xjar.go执行启动,不同系统不一样,具体看官网要求!