首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SpringBoot3+JDK17打包成加密EXE

SpringBoot3+JDK17打包成加密EXE

原创
作者头像
家庭Q秋-3993387644
修改2025-12-01 11:07:12
修改2025-12-01 11:07:12
2410
举报

最近有一个springweb项目,需要放到客户端,但是又不想让一些人破解反编译jar包,于是我将项目打包成加密exe,让一些人无法简单破解。本文就是介绍详细的配置步骤。

一. pom.xml配置

首先需要配置maven pom文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>3.3.0</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.hadluo</groupId>
	<artifactId>fish-agent</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>fish-agent</name>
	<description>fish agent</description>
	<properties>
		<java.version>17</java.version>
	</properties>
	<repositories>
		<repository>
			<id>aliyun</id>
			<name>Aliyun Maven</name>
			<url>https://maven.aliyun.com/repository/public</url>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>aliyun-plugin</id>
			<name>Aliyun Maven Plugin</name>
			<url>https://maven.aliyun.com/repository/public</url>
		</pluginRepository>
	</pluginRepositories>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.graalvm.buildtools</groupId>
				<artifactId>native-maven-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<mainClass>com.hadluo.fish.agent.App</mainClass>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>process-aot</id>
						<goals>
							<goal>process-aot</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>

注意修改你的MainClass 路径。

二. VC桌面环境

自行到官网下载 vs_BuildTools.exe 。

下载后,只安装一个工具:

- "使用 C++ 的桌面开发" (Desktop development with C++) - (只要勾这一个就够了,右边的可选组件保持默认即可,它会自动包含 MSVC 编译器、Windows 10/11 SDK 等)

安装好之后,在开始菜单就会出现:

三. graalvm17环境

GraalVM 17 是一个高性能的多语言虚拟机,基于 JDK 17 构建但增加了关键特性。它包含 Graal JIT 编译器(替代传统的 HotSpot JIT),能提供更好的运行时性能优化。最重要的是,GraalVM 支持 Native Image(AOT 编译),可将 Java 程序编译为本地可执行文件,显著提升启动速度和降低内存占用。此外,它还具备多语言能力,可在同一运行时中运行 JavaScript、Python、Ruby 等语言。

自行到官网上下载graalvm17 , 并且为其配置好JAVA_HOME环境变量:

文件名: graalvm-ce-java17-windows-amd64-22.3.3.zip

四. idea构建

在开始菜单找到x64 Native Tools Command Prompt for VS 2022,然后启动:

找到idea.exe , 然后将其拖到黑框里面(注意idea的快捷方式不行),然后回车运行idea,然后配置好jdk为graalvm17:

然后找到maven插件的native下的native:compile 进行编译,等待即可:

会在target目录下面输出:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一. pom.xml配置
  • 二. VC桌面环境
  • 三. graalvm17环境
  • 四. idea构建
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档