SpringBoot3新特性-java程序封装成exe-创新互联
之前java程序封装成exe 较为麻烦,对于一些需要windows部署的项目不是很友好,生产环境必须要求要安装jdk,并且通过java -jar 的方式运行jar包,windows下容易误触cmd命令窗口导致程序暂停。对于这种情况可以考虑通过下文方式将程序封装成exe来运行。
我们提供的服务有:网站建设、成都网站建设、微信公众号开发、网站优化、网站认证、土默特左旗ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的土默特左旗网站制作公司1.环境准备本文以windows环境下载idea中运行为例
- jdk 版本要求 17 及以上,不向下兼容,springboot 版本 要求3.0 +,idea版本要求 2022.1及以上,之前的idea版本 不支持使用jdk17
- 如图可以通过 Spring Initializr 初始化一个spring项目
2.把下面的依赖 引入到你的基于maven管理的springboot项目中,或者对照pom文件进行修改
(这里必须要注意:jdk 版本要求 17 及以上,不向下兼容,springboot 版本 要求3.0 +)
- pom 文件
4.0.0 org.springframework.boot spring-boot-starter-parent 3.0.1 com.example demo 0.0.1-SNAPSHOT demo Demo project for Spring Boot 17 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.projectlombok lombok true org.graalvm.buildtools native-maven-plugin org.springframework.boot spring-boot-maven-plugin
3.在配置文件中指定端口即可
# Tomcat
server:
port: 8081
4.创建一个测试controller
@RestController
@RequestMapping("info")
public class TestController {@GetMapping("/test")
public String test(){return "hello spring boot 3.0";
}
}
5.启动项目,访问接口 没有问题 就可以进行项目封装exe 啦
3.封装 exe在项目的根目录下(也就是 和pom文件同一级)执行以下命令即可将项目封装成exe。
mvn -Pnative native:compile
这里要注意的是通过 cmd 命令窗口直接执行上述命令会报错,需要开发环境下安装 graalvm 以及 Visual Studio
- graalvm 安装
下载地址:https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.0
建议下载 对java17支持的版本
下载安装之后如图所示
配置环境变量
# JAVA_HOME 指定 graalvm-ce-java17-22.3.0 安装位置,
# 另外需要在 PATH 下指定 graalvm-ce-java17-22.3.0的bin目录,
# 如果存在多个jdk 建议将graalvm-ce-java17-22.3.0的bin 配置上移 如图所示
cmd 查看 java -version 如图所示即为安装成功
- Visual Studio 安装
下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/
下载社区版即可,下载之后安装时注意选择使用 C++ 开发桌面 开发
安装好vs 以及graalvm 就可以进行 exe的封装啦!
- 搜索vs 并打开命令窗口,通过cd命令,找到项目所在的pom.xml 所在的文件夹
- 再次执行
mvn -Pnative native:compile
命令就可以成功啦 - 在项目的target目录下就可以找到封装好的exe程序
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站栏目:SpringBoot3新特性-java程序封装成exe-创新互联
新闻来源:http://myzitong.com/article/disgcs.html