运行 spring 一个特定的 spring 批处理作业,其中多个作业包含在 spring boot fat jar 中

Running a specific spring batch job amongst several jobs contained withing a spring boot fat jar

我正在尝试从 spring boot fat jar 运行 spring 批处理作业,但我在引用嵌套 jar 时遇到问题。

这是我使用的命令:

java -cp bignibou-batch-core/build/libs/bignibou-batch-core.jar:lib/spring-batch-core-3.0.3.RELEASE.jar org.springframework.batch.core.launch.support.CommandLineJobRunner com.bignibou.batch.configuration.BatchConfiguration mailingJob

请注意我如何使用冒号引用嵌套的 spring 批处理 jar。为什么这不起作用?

说找不到主class:

Erreur : impossible de trouver ou charger la classe principale org.springframework.batch.core.launch.support.CommandLineJobRunner

我发现有一个很好的选择,可以从一个胖罐子中选择一个工作(从多个工作中):

--spring.batch.job.names=jobOne,jobThree

只有 jobOne & jobThree 会 运行 即使 jobTwo 也存在。

有关文档,请参阅 http://docs.spring.io/spring-boot/docs/current/reference/html/howto-batch-applications.html

就我而言,这解决了我的问题:

java -jar bignibou-batch-core/build/libs/bignibou-batch-core.jar --spring.batch.job.names=mailingJob