项目需要通过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();
}
}
分享到:
相关推荐
在Java中,我们可以使用`Runtime`类或`ProcessBuilder`类来执行操作系统级别的命令,例如运行bat文件。以下是一个简单的示例,展示如何使用`Runtime.getRuntime().exec()`方法来执行bat文件: ```java public class...
本文将深入探讨如何使用Java调用BAT文件,以及在这个过程中可能遇到的问题和解决方案。 首先,理解基本原理:Java通过`Runtime.getRuntime().exec()`方法来执行外部命令,这包括运行批处理文件。这个方法允许Java...
`bat`文件是Windows操作系统中的批处理脚本,它可以用来自动化一系列命令行操作,包括运行Java应用程序。在这个场景下,`bat`文件被用来启动包含`main`方法的Java程序。`main`方法是Java程序的入口点,按照`public ...
3. **运行Bat文件**:双击该bat文件即可运行jar程序。 #### 五、通过Bat文件传递参数给Java程序 如果希望在运行时向Java程序传递参数,可以通过在bat文件中修改运行命令来实现。例如,对于以下Java代码: ```java ...
首先,Java程序运行需要Java开发工具包(Java Development Kit,简称JDK)的安装,因为JDK包含Java编译器和Java运行环境。确保已正确安装JDK,并将其添加到系统环境变量PATH中,这样可以从任何位置调用Java命令。 ...
1. 使用文本编辑器(如Notepad++、记事本等)创建一个新的.bat文件,例如`run_java.bat`。 2. 在文件中输入以下内容: ```batch @echo off REM 指定Java程序的主类名,这里假设为com.example.MyApp set MAIN_CLASS=...
下面将详细介绍如何通过BAT文件运行引用了外部jar的Java程序。 首先,我们需要了解Java程序的运行机制。Java程序是由JVM(Java虚拟机)执行的,通过`java`命令来启动。如果Java程序依赖于外部的jar库,我们可以通过...
4. **运行BAT文件**: 保存这个记事本文件为`.bat`扩展名,比如`runTestDemo.bat`。双击这个BAT文件,你的Java程序就会被调用并运行。 通过这种方式,你可以便捷地在Windows环境下运行Java程序,而无需每次都手动...
Windows 无法运行 .bat 文件解决方案 .bat 文件是一种批处理文件,在 Windows 操作系统中广泛应用于自动化任务和脚本编程。但是,有时 Windows 无法运行 .bat 文件,这可能是由于环境变量配置不正确或缺失所致。...
要使用JavaLauncher将BAT文件打包成EXE,你需要按照以下步骤操作: 1. 下载`javalauncher_standard_3201.exe`,这是一个JavaLauncher的执行文件。 2. 将你的批处理文件(例如:mybatch.bat)和任何该脚本依赖的外部...
在标题“同一个bat文件启动多个jar包”中,我们看到的是利用批处理文件一次性启动多个Java应用程序的场景。这在开发和部署环境中尤其有用,因为它允许用户通过简单的双击bat文件,就能快速启动多个相关的服务或应用...
### bat文件调用Java入门实例解析 #### 一、引言 在计算机编程领域中,批处理文件(.bat)是一种常用于Windows操作系统中的脚本文件。它通过一系列的命令来自动化执行特定任务,比如启动应用程序或执行系统操作。...
下面我们将详细探讨如何使用`bat`批处理文件来设置Java环境变量。 首先,让我们了解什么是`bat`批处理文件。`bat`文件是Microsoft DOS和Windows操作系统中的批处理脚本,用于执行一系列命令。它们是文本文件,扩展...
### Java 制作 BAT 文件可执行 JAR 的详细步骤与知识点 #### 一、导言 在实际开发过程中,为了方便部署和分发应用程序,常常需要将 Java 应用程序打包成 JAR 文件,并通过批处理(BAT)文件来启动。这种方式不仅...
在Java编程中,有时我们需要执行操作系统级别的命令,例如运行批处理文件(bat文件)来完成特定的任务。然而,当我们直接使用`Runtime.getRuntime().exec()`方法执行bat命令时,可能会遇到阻塞问题。这个问题通常...
根据描述,“flink新版本bin目录无bat文件”,这表明用户遇到了无法直接在Windows环境下启动Flink服务的困扰。 解决方案是将压缩包中的`start-cluster.bat`和`flink.bat`文件解压到Flink的`bin`目录下。`start-...
标题中的“xmlbeans-2.4.0 生成JAVA代码BAT文件”指的是XMLBeans库的一个特定版本,2.4.0,它包含了一个批处理(BAT)文件,用于自动化生成Java代码的过程。XMLBeans是一个开源项目,由Apache软件基金会维护,它的...