我第一次学习如何使用spring batch。
我的春季会议是这样的:
@EnableBatchProcessing
@SpringBootApplication
public class BatchChap4Application {
@Autowired
private JobBuilderFactory jobBuilderFactory;
@Autowired
private StepBuilderFactory stepBuilderFactory;
@Bean
public Job job(){
return jobBuilderFactory.get("basicJob").start(step1()).build();
}
@Bean
public Step step1(){
return stepBuilderFactory.get("step1")
.tasklet((stepContribution, chunkContext) -> {
System.out.println("Hello World");
return RepeatStatus.FINISHED;
}).build();
}
public static void main(String[] args) {
SpringApplication.run(BatchChap4Application.class, args);
}
}
当我从命令行使用字符串值手动运行jar时,它工作得很好。
java -jar batch.jar executionDate=2021/02/21
但是,当我尝试将参数类型从字符串更改为日期时,它总是显示zsh:未找到匹配项:executionDate(日期)=2021/02/21
java -jar batch.jar executionDate(date)=2021/02/21
得到一个意外的输出,如下所示:
zsh: no matches found: executionDate(date)=2021/02/21**strong text**
我试着查找错误。不幸的是没有答案。我正在使用macOS进行开发。
请帮帮忙。
发布于 2021-02-22 09:52:40
您需要转义括号:
java -jar batch.jar executionDate\(date\)=2021/02/21
或者在单引号之间传递作业参数:
java -jar batch.jar 'executionDate(date)=2021/02/21'
https://stackoverflow.com/questions/66302293
复制相似问题