Jenkins中执行带参数的SpringBoot Jar命令是否可行及执行方式咨询
问题解答
命令可行性
你用到的java -jar myJArName.jar --server.port=10 --another.argument=1 --another.argument=2命令完全可行:
- SpringBoot原生支持通过
--配置项=值的命令行参数覆盖application.properties中的配置,优先级高于配置文件。 - 重复指定同一个参数(比如
--another.argument传两次)会被SpringBoot识别为数组/列表类型的配置,和你在Windows命令提示符中运行的效果一致。
Jenkins执行步骤选择
执行步骤的选择完全取决于运行Jenkins任务的代理节点操作系统:
- 如果代理是Windows机器:必须选择「Execute Windows batch command」步骤,因为「Execute Shell」是为Linux/macOS等类Unix系统设计的,Windows无法识别shell语法。
- 如果代理是Linux/macOS机器:选择「Execute Shell」步骤即可,注意提前确认代理节点已配置好Java环境(
java命令可全局调用),且Jar包路径正确。
额外提示
如果需要让Jar包在Jenkins后台运行(避免任务因进程未结束而卡住):
- Windows环境:在命令前加
start /B,即start /B java -jar myJArName.jar --server.port=10 --another.argument=1 --another.argument=2 - Linux/macOS环境:在命令末尾加
&并配合nohup,即nohup java -jar myJArName.jar --server.port=10 --another.argument=1 --another.argument=2 &
内容的提问来源于stack exchange,提问作者userdr725
相关产品推荐
相关产品推荐

