我不知道如何使用CommandLineJobRunner调用Spring Batch中定义的Job,文档详细信息对我来说还不够.
我遵循Spring Batch official guide使用Java注释在Spring Batch中编写Jobs,例如@EnableBatchProcessing因为我想避免使用XML配置文件来描述作业,步骤等.
到目前为止,我有:
>一个配置类(com.package.bla.bla.ClassContainingTheBatchConfiguration见下文)我把所有东西定义为ItemReader,ItemProcessor,ItemWriter,Job和Step(返回jobs.get(“nameOfTheJob”)见下文)使用@Bean注释.
>一个带有SpringApplication.run(…)的main方法的类和带有@ImportResource(“classpath:Meta-INF / spring / applicationContext.xml”)的注释,用于导入在处理Job中的数据时需要的一些bean .
在Maven方面,我目前正在使用一些插件:
> maven-jar-plugin指定< addClasspath> true< / addClasspath>以及包含标记< mainClass>中的main方法的类
> maven-assembly-plugin因为我想要一个包含依赖项中所有内容的独特可执行jar,我正在使用< phase> package< / package>为了能够在包阶段构建jar,我也使用< goal>单< / goal>能够使用组件正确构建jar
> maven-compiler-plugin指定我正在使用Java 1.7
我想我已经配置了所有需要配置的东西,但是在拥有Maven BUILD SUCCESS之后我无法从命令行运行该作业:
java -cp ./target/JAR_FILE_NAME.jar org.springframework.batch.core.launch.support.CommandLineJobRunner com.package.bla.bla.ClassContainingTheBatchConfiguration nameOfTheJob
由于有关com.package.bla.bla.ClassContainingTheBatchConfiguration的java.io.FileNotFoundException,抛出IOException.我应该如何在命令行中指定参数以便执行作业?