如何从命令行在springbatchadmin.war中运行作业?
我在命令提示符中使用以下命令来运行作业。
D:\apache-tomcat-6.0.35\webapps\springbatchadmin>java -classpath "lib\*;src" com.companyname.batch.BatchLauncher job1Cfg job1
但是我得到了错误,我无法完成这项工作。
请给我正确的指示。
答案 0 :(得分:2)
如果您使用tomcat来部署管理员,那么只要您启动服务器一次,.war文件就应该将自己部署到一个文件夹中。现在,您可以跟踪该文件夹中xml文件的位置,并从命令行执行作业。
例如:在我的情况下,xml文件位于文件夹中,
的Tomcat \ web应用\ my_project_war \ WEB-INF \类\ springbatch
所以,如果你想在xml中运行一个工作(比如说'abcJob'
),比如'xyz.xml'
,
使用命令
java org.springframework.batch.core.launch.support.CommandLineJobRunner "tomcat\webapps\my_project_war\WEB-INF\classes\springbatch\xyz.xml" "abcJob" parameter1=value1 etc
从命令行运行时,您还可以将classpath变量设置为某个常量位置,以便您可以参考该位置运行所有相对作业。 (在我的例子中是'tomcat \ webapps \ my_project_war \ WEB-INF \ classes')
所以我会使用命令
java org.springframework.batch.core.launch.support.CommandLineJobRunner "classpath*:springbatch/xyz.xml" "abcJob" parameter1=value1