Spring 批处理作业参数始终显示 zsh:未找到匹配项
Spring Batch Job Param always show zsh : no matches found
我是第一次学习如何使用 spring 批处理。
我的 spring 配置文件是这样的:
@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'
我是第一次学习如何使用 spring 批处理。
我的 spring 配置文件是这样的:
@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'