项目需要通过web页面控制Tomcat6的多实例启动停止等操作,结合网上资料整理的实例以备用。附有源码,请把源码test目录Copy到Tomcat6的安装目录,未测试Tomcat5, Tomcat5.5下的情况。
核心类:CmdProcess
package com.cmd.test;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* 该类启动doc界面
* @author Administrator
*
*/
public class CmdProcess extends Thread{
InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public CmdProcess() {
super();
// TODO Auto-generated constructor stub
}
public CmdProcess(InputStream inputStream) {
super();
this.inputStream = inputStream;
}
public void run() {
// TODO Auto-generated method stub
try {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = null;
while ((line = bufferedReader.readLine()) != null){
//while ((bufferedReader.readLine()) != null) {//此处是关键,原因我也不知道,望牛人解答
System.out.println(line);
}
try{
}finally{
if(bufferedReader!=null) bufferedReader.close();
if(inputStreamReader!=null) inputStreamReader.close();
if(inputStream!=null) inputStream.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String command = "D:\\Program Files\\Tomcat6\\minor\\qin\\qin-startup.bat";
try {
Process process = Runtime.getRuntime().exec(command);
CmdProcess cmdProcess = new CmdProcess(process.getInputStream());
cmdProcess.start();
process.waitFor();
}catch(Exception e){
e.printStackTrace();
}
}
}
启动测试类 StartTest
package com.cmd.test;
/**
* 启动测试
* @author Administrator
*
*/
public class StartTest {
/**
* 启动
*/
public void start(){
String command = "D:\\Program Files\\Tomcat6\\test\\test-startup.bat";
try {
Process process = Runtime.getRuntime().exec(command);
CmdProcess cmdProcess = new CmdProcess(process.getInputStream());
cmdProcess.start();
process.waitFor();
}catch(Exception e){
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new StartTest().start();
}
}
停止测试类 StopTest
package com.cmd.test;
/**
* 停止测试
* @author Administrator
*
*/
public class StopTest {
/**
* 停止
*/
public void stop(){
String command = "D:\\Program Files\\Tomcat6\\test\\test-shutdown.bat";
try {
Process process = Runtime.getRuntime().exec(command);
CmdProcess cmdProcess = new CmdProcess(process.getInputStream());
cmdProcess.start();
process.waitFor();
}catch(Exception e){
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new StopTest().stop();
}
}
分享到:
相关推荐
NULL 博文链接:https://weishaoxiang.iteye.com/blog/1237809
源代码,jar包及bat文件,注意:bat文件中不能有空格。
有几个程序的代码,主要是关于将Java程序写到.bat文件中双击后直接运行
javajar包运行及bat文件制作.doc
1.java生成bat文件 2.java向bat文件中写命令 3.bat中压缩批量多个文件 3.java运行bat文件 4.java 运行bat文件批量生成多个json(或其他)文件 有一个示例的demo
一个和java BS写的处理文件 yanhuahua112@163.com
由于 Runtime.getRuntime().exec(cmd /k start ipconfig) 的方式执行完一条命令会直接闪退窗口,无法处理同一窗口执行多条命令等复杂业务,所以采用生成bat文件的方式,再通过运行bat文件执行cmd命令
1. JAVA 编写的 License生成器 2. 采用rsa非对称密钥算法。 3. 打包成jar直接运行。 4. 自动创建明文txt文件,修改后进行一键加密,生成License文件。 5. 优秀的界面操作。 6. 具有较好的不可复制性。
主要介绍了java执行bat命令碰到的阻塞问题的解决方法,有需要的朋友可以参考一下
flink新版本bin目录无bat文件就把上面文件复制进去就好了
记事本源码java run_java_bat notepad ++的文件,用于从notepad ...在路径内单击“新建”,现在复制您在其中移动runcpp.bat文件的文件夹的路径,并将其粘贴到新路径中并保存。 现在,您可以打开一个Jav
运行bat文件,对IE一键设置ActiveX控件、JAVA脚本、活动脚本。win7及以上版本,最好采用右键点击,选择以管理员身份运行bat文件。
同一个bat文件启动多个jar包,便于用户进行傻瓜式启动程序,方便操作。
这个bat脚本资源可以在Windows环境下实现Java程序的守护进程和自动重启。它通过一个循环监控Java程序进程,如果检测到程序异常退出,会自动重启程序。同时具有可配置的重启次数和重启间隔时间。 这个小巧但实用的bat...
java环境变量设置 bat 运行,bat 可放任意目录!...在运行本bat文件前,记得先修改你java\jdk的路径。 在网络上找了很久没有一个很好用的,而且很多都不成功,还是自己写个比较实在,而且不影响本来path的设置!!!
Java 自动编译运行 批处理程序 以下是自制的Java自动编译+运行批处理程序,请将它加入到Path中 它可以执行的指令有: t Java文件名 [/?][e][r]或[c] [a] 注意:请不要输入文件的扩展名 [/?] 读取本帮助信息 [/...
②让java程序在没有安装java运行环境的计算机上运行。本人曾经被这两个问题困扰良久,网上也有将java程序打包成可执行jar包甚至用第三者程序将jar包生成exe文件的说法。很遗憾,也很惭愧,本人还是没有解决好这两个...
程序测试可用,直接解压导入到工程就可以,bat文件跟shell文件是用于在window跟linux上直接执行的脚本 我把开发的配置文档附上: 1.程序为定时任务,任务执行时间在bin目录下的配置文件mergeFilleUtil.properties中...
里边就一个bat文件和.sh文件 开发的普通java程序从ide导出jar,编写bat在windows下运行,编写sh在linux下运行