Command line下,运行main函数

平时开发,运行测试类,都直接使用开发平台:Run as->.....,此次有个自动服务,为了便于测试,测试人员要求能包装成可独立运行单个应用,自己就马上添加main函数包装,并在eclipse中Run as->Java Application顺利通过,因为要发布到测试环境,所以需要提供可运行的java命令串,折腾了大半天,终于写出正确命令串,感觉代码越写人越傻人, ,main函数:
public static void main(String[] args) {
		String configPath = "classpath:applicationContext-xx.xml, classpath:applicationContext.xml, classpath:applicationContext-xx.xml, classpath:applicationContext-xx.xml, classpath:com/xx/xx/app-xx.xml";
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(configPath.split("[,\\s]+"));
		SystemBuffer.init();
		XXJob job = context.getBean(XXJob.class);
		job.runJob();
		System.exit(1);
	}


window
WebContent\WEB-INF>java -cp ./classes;./lib/* com.xx.xx.job.XXJob
linux&unix
WebContent\WEB-INF>java -cp ./classes:./lib/* com.xx.xx.job.XXJob

注意:
(1)./classes和./lib/*的先后顺序很重要:这涉及到代码中使用相对路径加载如properties文件,到底是使用lib/*.jar中的文件还是classes目录下的文件
(2)刚开始写成./lib/*.jar,这个方式压根无法正确识别lib下的jar包,画蛇添足

你可能感兴趣的:(java,eclipse)