1、环境准备
jdk:14版本及以上,支持jpackage
下载jdk:Core Post Download - Azul | Better Java Performance, Superior Java Support
IDEA:创建Springboot,前后不分离项目
2、项目可以通过网页正常访问
在springBoot启动类中,添加项目访问页面路径
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
// 使用默认浏览器打开
try {
Runtime.getRuntime().exec(String.format("cmd /c start %s", "http://localhost:8080/index.html"));
} catch (Exception e) {
log.warn("打开客户端主页失败", e);
}
}
3、打一个胖包
所有依赖都放在一个包中
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.cpp.util.UtilApplication</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
4、点击打包
5、执行jpack命令
jpackage --type app-image --name xml转换器 --input target --main-jar util-0.0.1-SNAPSHOT.jar --win-console --dest dist1 --java-options "-Dfile.encoding=UTF-8"
参数 | 作用 | 示例 | 说明 |
---|---|---|---|
--type | 打包类型 | app-image | 可选:"app-image", "exe", "msi",这里使用app-image,选择另外两个选项需要安装WiX |
--name | 应用名称 | spring | 打包后的名称 |
--input | 输入目录 | target | 该目录所有文件打包到应用目录中,可以将其他无用文件删掉 |
--main-jar | 应用主jar | --input目录里的jar程序 | |
--win-console | 运行时启动控制台 | --win-console | 打开应用程序时,打开控制台。如果不启用在后台运行,关闭只能从任务管理器中结束任务 |
--dest | 输出目录 | dist | 输出到该目录,不要和--input同个目录,否则会无限循环复制目录 |
6、双击执行即可