使用Xjar给SpringBoot项目jar包加密

news/2025/1/8 15:09:50/文章来源:https://www.cnblogs.com/liyhbk/p/16855085.html

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.jarxjar.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

7. 注意事项

7.1 打包后的jar包体积会变大

7.2 非必要前端页面不要打包(html和js)我打包了之后浏览器页面出现一直在加载的问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861931.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于CH32V307以太网使用

1、关于仿真 在使用以太网时,不建议使用仿真功能。因为在网络协议栈内部有一个变量需要固定间隔时间去进行累加计数,若使用仿真功能,会导致这个变量停止累加计数,从而导致程序出现异常;2、关于内部10M PHY的使用 在使用内部10M PHY时,内部 10M PHY的时钟由 PLL3 提供,且…

搭建dvwa靶机

# 1、直接使用docker搭建方便很多,这个环境依赖问题没必要多花时间去研究; ubuntu安装docker apt-get update apt-get install apt-transport-https ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor …

深入理解Git:从原理到实践的全面指南

Hello World 深入理解Git:从原理到实践的全面指南本文深入剖析Git的核心概念和底层实现原理,包括对象模型、分支管理、合并策略等关键特性。通过理解Git的数据结构和工作机制,帮助开发者更好地处理版本控制中的各种复杂场景,从基础使用者进阶为Git专家。在日常开发中,很多…

墨天轮国产数据库排行榜年终总结-2024年

本文对2024年墨天轮中国数据库流行度排行榜进行了年终盘点,包含多个维度的详细分析整理,欢迎大家阅读交流。图片说明:按照墨天轮中国数据库流行度排行榜分数比例生成 前言: 岁月不居,时节如流。岁末年终,忽焉已至。墨天轮平台已于2024年12月1日公布了中国数据库流行度排行榜…

CISSP备考经验分享2024年12月

https://www.cnblogs.com/iAmSoScArEd/p/18644021 我超怕的 CISSP备考经验分享2024年12月 考试过了,以下是我的备考经历,不一定适合所有人,所以请按照自己的习惯备考。 考试感受 考试形式:CAT模式、中文(感兴趣可以先了解下考试模式:https://www.isc2china.org/cissp-cat…

Gradle下载Plugins插件连接超时 failed: Connection timed out: connect的解决方法

可以去gradle官方plugin仓库看看插件是否存在。 出现超时的问题多半都是网络因素,可能是复杂的网络导致你访问不了吧,配置下plugins可访问使用的仓库即可。 需要注意buildscript在plugins之上的位置。 buildscript {repositories {mavenLocal()maven { url https://maven.ali…

定义通用返回包装类

定义通用返回包装类 包装返回正确的数据格式,返回类型示例 {"code":200,"message":"success","data":[] }通用包装类 import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;/*** @author zhangsh…

dolphinscheduler相关

任务状态和事件驱动时序图

蓝牙设备过多导致Win11出现不定时死机现象

10月份之后发现自己的ROG FLOW X16笔记本开始不定时死机了。具体表现是正常使用过程突然死机,各种地方点不动,不能注销,不能重启,不能关机,我的电脑打不开,任务管理器打开是一片空白。仅有一些窗口最大化和最小化之类的功能可以点击。并且没有任何表征,就是突然给你出现…

绝对不能错过的:Air201看门狗定时器!

看门狗技术(Watchdog Timer)是嵌入式系统中一种重要的稳定性增强技术,用于监测和恢复系统的正常运行状态。当系统因程序跑飞、死机或受到电磁干扰而无法正常工作时,看门狗能够及时检测并采取相应措施,从而避免系统长时间处于故障状态。 本文将带你了解看门狗的工作原理、应…

关于Chat2DB的吐槽

最近心血来潮准备支援原子一波、看着多出来一个选项联合会员chat2db、于是纳闷chat2db是个啥东西于是下载下来试用了一下,怎么说呢、不好评价 ​ SQL优化功能:一股浓浓的AI味,跟你直接问ChatGpt差不多。 ​ sql提示也没想象的好、自然语言转sql更是难用、不如直接自己写 ​ …

[转] 认知负荷才是关键

Title: cognitive-load/README.zh-cn.md at main zakirullin/cognitive-load URL Source: https://github.com/zakirullin/cognitive-load/blob/main/README.zh-cn.md简介(Introduction)这世上有如此多的“流行语”和“最佳实践”,但是让我们把注意力转向更基础的方面。即——…