如何将SpringBoot前后端项目制作成windows运行的exe文件
1、需要项目前提
1.1、一个完善的前端vue项目,一个完善的后端项目。
前端打包命令:npm run build 得到dist文件,将dist文件的内容放到后端项目的static文件下。
后端打包命令:mvn clean package,得到jar包。注意此时如果你放置好了前端资源的话,这个jar包是把前端项目一起打包进了。
需要配套的,可以私信,一杯奶茶钱即可。
1.2、数据库由mysql服务替换为轻量级的H2数据库,目的是可以让用户无需mysql环境,可以执行项目的sql语句。
pom文件配置
<!-- H2 数据库 --><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency>
yml文件配置
spring:datasource:url: jdbc:h2:file:./data/railway;MODE=MySQL;DB_CLOSE_DELAY=-1;AUTO_SERVER=TRUE;DATABASE_TO_UPPER=falseusername: sapassword:driver-class-name: org.h2.Driverjpa:hibernate:spring:jpa:hibernate:ddl-auto: update # 自动建表但不会删表database-platform: org.hibernate.dialect.H2Dialecth2:console:enabled: true # 启用 H2 控制台,确保你能访问数据库
1.3、下载luanch4j软件
该软件专门制作exe文件,直接去官网launch4j下载压缩包解压缩即可。
会得到如下:
注意点
在如图中双击exe文件可以进入软件,注意这个时候你没有配置好xml文件,它的启动按钮是灰色的。
此时你在解压的文件夹下创建一个你项目的xml文件,若使用我的项目,该xml文件如图:
xml内容如下:
<launch4jConfig>
<!-- 是否内嵌 JAR 到 EXE -->
<dontWrapJar>false</dontWrapJar>
<headerType>console</headerType>
<!-- JAR 文件名称:与 XML 同目录 -->
<jar>railway-0.0.1-SNAPSHOT.jar</jar>
<!-- 输出的 EXE 名称 -->
<outfile>railway.exe</outfile>
<!-- 启动失败提示标题 -->
<errTitle>Railway App 启动失败</errTitle>
<!-- 传递 JVM 参数 -->
<cmdLine>-Dfile.encoding=UTF-8</cmdLine>
<!-- 设置工作目录为当前路径 -->
<chdir>.</chdir>
<!-- 优先级正常 -->
<priority>normal</priority>
<!-- 不需要保持进程存活 -->
<stayAlive>false</stayAlive>
<!-- 崩溃后不自动重启 -->
<restartOnCrash>false</restartOnCrash>
<!-- JRE 设置 -->
<jre>
<!-- 指向内置 JRE 相对路径,例如 railway\jre -->
<path>jre</path>
<!-- 是否需要 JDK。一般设为 false -->
<requiresJdk>false</requiresJdk>
<!-- 要求 64 位运行(如果你的 JRE 是 64 位) -->
<requires64Bit>true</requires64Bit>
<!-- 最小 Java 版本要求 -->
<minVersion>17</minVersion>
</jre>
</launch4jConfig>
如果你用了上述的xml文件,在luanch4j中选择导入。
注意
在这个launch4j文件夹下,你有如下文件需要导入
1、jar包
你后端生成的
2、jre包
最简单的方法,将你的后端用的本地目录jdk包复制一份,改名为jre即可。
1.4 总结
最后你只需要把exe文件与后端jar包、项目所需的jre放在一个文件夹下,进行压缩分享给其他用户。他无需有java环境即可运行这个前后端项目