我第一次学习如何使用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: no matches found: executionDate(date)=2021/02/21
java -jar batch.jar executionDate(date)=2021/02/21
得到如下的意外输出:
zsh: no matches found: executionDate(date)=2021/02/21**strong text**
我试图搜索错误。不幸的是没有回答。我正在使用macOS进行开发。
请帮助。
需要转义括号:
java -jar batch.jar executionDate(date)=2021/02/21
或者在单引号之间传递作业参数:
java -jar batch.jar 'executionDate(date)=2021/02/21'