读书人

java 调用cmd/sh资料

发布时间: 2012-11-12 12:31:58 作者: rapoo

java 调用cmd/sh文件

最近在做产品遇到java在windows下面调用bat脚本和在linux下调用shell脚本,现在记录一下以便以后查阅。

首先贴出RuntimeUtils工具类,此类简化了 Runtime中exec的调用

package com.zohan.ww.system;import org.junit.Test;import com.zohan.www.util.RuntimeUtils;/** * @ClassName: TestRuntimeUtils * @Description: RuntimeUtils测试 * @author zohan inlw@sina.com * @date 2012-10-30 下午9:02:48 *  */public class TestRuntimeUtils {/** *  * @Title: testStartTomcat * @Description: windows 下启动tomcat * @throws Exception * @return void 返回类型 * @throws */@Testpublic void testStartTomcat() throws Exception {String command = "cmd.exe /c  startup.bat";String dir = "D:\\ehcache\\apache-tomcat-6.0.35\\bin";Process process = RuntimeUtils.exec(command, null, dir);int i = process.waitFor();System.exit(i);}/** *  * @Title: testStopTomcat * @Description: windows 下关闭tomcat * @throws Exception *             设定文件 * @return void 返回类型 * @throws */@Testpublic void testStopTomcat() throws Exception {String command = "cmd.exe /c start  shutdown.bat";String dir = "D:\\ehcache\\apache-tomcat-6.0.35\\bin";Process process = RuntimeUtils.exec(command, null, dir);int i = process.waitFor();System.exit(i);}/** * * @Title: testStartWas* @Description: linux 下 启动was服务* @throws Exception    设定文件* @return void    返回类型* @throws */@Testpublic void testStartWas() throws Exception{String command = "sh startServer.sh server1";String dir = "/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin";Process process = RuntimeUtils.exec(command, null, dir);int i = process.waitFor();System.exit(i);}/** * * @Title: testStopWas* @Description: linux 下停止was服务* @throws Exception    设定文件* @return void    返回类型* @throws */@Testpublic void testStopWas()throws Exception{String command = "sh stopServer.sh server1 -username admin password";String dir = "/usr/IBM/WebSphere/AppServer/profiles/AppSrv01/bin";Process process = RuntimeUtils.exec(command, null, dir);int i = process.waitFor();System.exit(i);}}?

?注意事项:在此过程中环境为null,会继承当前线程的环境变量。

?

?

读书人网 >软件架构设计

热点推荐