You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Maven CLI中为Spring Batch传递Job参数

正确的Spring Batch Job参数传递方式(Maven命令行)

直接在Maven命令后通过--分隔应用程序参数,将Job参数以--参数名=参数值的形式传递即可,完整命令如下:

mvn clean spring-boot:run -Dspring.batch.job.names=myJob -Dspring.profiles.active=default,dev -f pom.xml -- --startTimestamp=1667790578000 --endTimestamp=1667790578000

关键说明:

  • Maven的-D是用来设置系统属性的,而Spring Batch的Job参数需要作为应用程序命令行参数传递,--是Mavenspring-boot:run插件用来区分Maven自身参数和应用程序参数的分隔符。
  • 你现有的@Value绑定代码无需修改,Spring Batch会自动将--后的命令行参数注入到jobParameters上下文中,#{jobParameters.getOrDefault('startTimestamp', null)}可以正常获取到对应的值。

为什么之前的方式无效:

你尝试的-Dspring.batch.job.startTimestamp和-Dspring.batch.job.parameters.startTimestamp都是把参数设置为系统属性,而非Job参数,自然无法通过jobParameters上下文获取。

内容的提问来源于stack exchange,提问作者Clark Ngo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 03:50:20