我正在将JCommander API用于 Spring Boot - Spring Batch 项目。
项目有多个作业,我需要将作业名称作为参数传递,以便启动特定作业。
java -jar myJar.jar -jobName job1
现在,如果我job1
正在运行并且我希望job2
在那个时候启动,我不能这样做,因为port is already in use。所以我job2
只能在job1
完成后启动。
如果我尝试job2
在不同的端口启动,
java -jar myJar.jar -jobName job2 --server.port=8090
然后 jCommander 不会让它通过,因为我没有server.port
在 JCommander 配置中定义,即使我这样做了,Spring Boot 只会从属性文件中选择属性并尝试在同一个端口上运行 - 8080
。
如何处理这种情况?