1. 声明

当前内容主要为本人学习和复习使用javapackager方式将jar文件打成exe包(也可使用其他的例如exe4j),主要参考官方文档,即一个具有自身容器exe

xml配置

groupId>springboot-test</groupId>
	<artifactId>springboot-test</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>springboot-test</name>
	<url>http://maven.apache.org</url>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.1.18.RELEASE</version>
	</parent>
	<properties>
		<java.version>1.8</java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

2. 创建一个基本的springboot的demo并打成springboot的jar

@RestController
public class TestController {
	@RequestMapping(value = "/hello", method = RequestMethod.GET)
	public String hello() {
		return "hello";
	}
}

入口类

@SpringBootApplication
public class Application {
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}
}

使用maven打包
在这里插入图片描述

3. 开始打成exe

1.首先将前面的springboot-test的jar复制到一个非中文的目录下
开始执行以下指令(这里写成bat脚本)

@echo off
echo package current jar to exe
set USE_JAR=springboot-test-0.0.1-SNAPSHOT.jar
set USE_CONFIG=config
set APP_CLASS=
set APP_NAME="SpringBootTest"
set OUT_FILE="SpringBootTest"
set TITLE="SpringBootTestDemo"

javapackager -deploy -native -outdir packages -outfile %OUT_FILE% -srcfiles %USE_JAR% -appclass org.springframework.boot.loader.JarLauncher -name %APP_NAME% -title %TITLE%

pause

执行中(这个-appclass就是当前jar的Main-Class启动类),如果出现360之类的安全警告,请全部允许
在这里插入图片描述

执行结果为:【packages/bundles/SpringBootTest中】
在这里插入图片描述
双击运行
在这里插入图片描述
浏览器访问

在这里插入图片描述

测试成功

这个打成的包是具有自身容器的,也就是本身自带jre,但是整个比较大,如果需要修改其他的配置之类的请参考官方文档

注意

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐