Skip to content

本地修改代码后如何打成可执行 JAR ​

正文与配图来自原稿。示例版本为 3.4.2;你若是 4.3.x,步骤与目录相同,把 jar 名里的版本号换成自己的即可。

1、需求 ​

假如我们在本地将 thingsboard 代码进行了修改,然后我们如果要打成一个 springboot 的可执行的 jar 包,如何来实现呢?

2、解决办法 ​

其实在我们将 thingsboard 代码拉下来执行【mvn clean install -DskipTests】命令进行安装之后,在 thingsboard/application 的 target 目录下,其实已经打好了 jar 包,如下图所示:

application/target 下的普通 jar 与 SpringBoot 可执行 jar

可以使用 360 压缩分别打开两个 jar 进行查看,可以看到【thingsboard-3.4.2-boot.jar】是 SpringBoot 标准的可执行 jar,然而【thingsboard-3.4.2.jar】是普通 jar,不能够直接使用 java -jar 执行。

解决办法 ​

所以,当你本地修改了代码之后,可以重新使用 mvn install【点击 IDEA 旁边的 install】进行重新打包,然后在 thingsboard/application 的 target 目录下又重新生成【thingsboard-3.4.2-boot.jar】,就可以直接使用:

bash
java -jar thingsboard-3.4.2-boot.jar

启动程序,这就是单节点启动 thingsboard。

IDEA 执行 install 成功后重新生成可执行 jar

本地测试启动【thingsboard-3.4.2-boot.jar】启动成功了:

本地 java -jar 启动成功日志

访问:

text
http://localhost:8080/login

访问登录页

补充(辅): 4.3.x 产物文件名形如 thingsboard-4.3.1.8-boot.jar,官方贡献文档启动命令为 java -jar application/target/thingsboard-4.3.1.8-boot.jar。库表需事先初始化(见 源码编译安装)。

3、可执行 jar 和普通 jar 的区别 ​

参考文章:

https://blog.csdn.net/weixin_45760137/article/details/118725697

相关文章 ​