maven,需要包含以下的配置
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
gradle,需要包含下面配置
-
首先记录踩坑:
springboot 2.x以上版本,已经不能用
springBoot {executable = true}
来配置了,会有以下报错Could not find method springBoot() for arguments
-
以下引用自gradle官方文档
Spring Boot提供了对完全可执行存档的支持。通过在外壳脚本之前添加一个知道如何启动该应用程序的外壳脚本,可以使存档完全可执行。在类似Unix的平台上,此启动脚本允许归档文件像任何其他可执行文件一样直接运行,或作为服务安装。
要使用此功能,必须启用启动脚本的包含:
bootJar { launchScript() }
这会将Spring Boot的默认启动脚本添加到存档中。默认启动脚本包括一些具有合理默认值的属性。可以使用以下
properties
属性来自定义值:bootJar { launchScript { properties 'logFilename': 'example-app.log' } }
如果默认启动脚本不满足您的需求,则
script
可以使用该属性来提供自定义启动脚本:bootJar { launchScript { script = file('src/custom.script') } }
启动方式:
- 可以直接
./yourapp.jar
来启动 - 注册为服务
也可以做一个软链接指向你的jar包并加入到init.d
中,然后用命令来启动。
init.d 例子:
ln -s /var/yourapp/yourapp.jar /etc/init.d/yourapp
chmod +x /etc/init.d/yourapp
这样就可以使用stop
或者是restart
命令去管理你的应用。
/etc/init.d/yourapp start|stop|restart
或者
service yourapp start|stop|restart
到此 springboot项目如何测试、联调和打包投产均已经介绍完,以后可以找时间研究一下springboot的自动化运维,以及spring boot 和docker相结合的使用。