我在使用Runtime.getRuntime(),exec()执行tomcat的startup.bat,无法启动,出现如下错误:
Using CATALINA_BASE: "E:\Java\apache-tomcat-6.0.37"
Using CATALINA_HOME: "E:\Java\apache-tomcat-6.0.37"
Using CATALINA_TMPDIR: "E:\Java\apache-tomcat-6.0.37\temp"
Using JRE_HOME: "E:\Java\jdk1.6.0_26"
Using CLASSPATH: "E:\Java\apache-tomcat-6.0.37\bin\bootstrap.jar"
<ERROR>
系统找不到文件 -Djava.util.logging.config.file=E:\Java\apache-tomcat-6.0.37\conf\logging.properties。
但事实上E:\Java\apache-tomcat-6.0.37\conf\logging.properties文件存在的,不知道怎么回事?望各位童鞋能给我解惑!谢谢!
代码如下:
Runtime run = Runtime.getRuntime();//返回与当前 Java 应用程序相关的运行时对象
try {
String[] envp = { //环境变量设置
"JAVA_HOME=E:\\Java\\jdk1.6.0_26", //Ant
"CATALINA_HOME=E:\\Java\\apache-tomcat-6.0.37" //Tomcat
};
Process p = run.exec("E:\\Java\\apache-tomcat-6.0.37\\bin\\startup.bat", envp, new File("E:\\Java\\apache-tomcat-6.0.37"));// 启动另一个进程来执行命令
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
//读取正常信息
String lineStr;
while ((lineStr = inBr.readLine()) != null)
//获得命令执行后在控制台的输出信息
System.out.println(lineStr);// 打印输出信息
//读取错误信息
InputStream stderr = p.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
System.out.println("<ERROR>");
while ( (line = br.readLine()) != null)
System.out.println(line);
//检查命令是否执行失败。
if (p.waitFor() != 0) {
if (p.exitValue() == 1)//p.exitValue()==0表示正常结束,1:非正常结束
System.err.println("命令执行失败!");
}
inBr.close();
in.close();
} catch (Exception ev) {
ev.printStackTrace();
}
相关推荐
java.lang.Process p = java.lang.Runtime.getRuntime().exec("net stop \"ApacheTomcat\""); java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream())); ...
本文将详细解析如何通过Java编程来实现对Tomcat服务器的状态监测,包括启动、关闭以及重启操作。 #### 二、Tomcat状态监测的基础知识 1. **Tomcat简介**: - Apache Tomcat是一款开源的Servlet容器,它实现了...
Runtime.getRuntime().exec("cmd.exe /C start D:\\test.bat"); ``` 这段代码会打开一个新的CMD窗口并执行指定的批处理文件。这里的"start"命令用于启动一个新的进程,"/C"参数表示执行完cmd命令后关闭CMD窗口,而"D...
通过Runtime.getRuntime()方法,可以返回当前Java应用程序的运行时对象,然后使用exec()方法来执行指定的命令。在本文中,命令是"D:\\apache-tomcat-8.5.39\\bin\\shutdown.bat",用于关闭Tomcat程序。 知识点2: ...
- **执行启动脚本**:通过Java的`Runtime.getRuntime().exec()`方法执行Tomcat安装目录下的启动脚本(如`startup.bat`)来启动服务。 - **监控日志**:可以监控Tomcat启动过程中的输出信息,确认服务是否成功启动...
Java开启/关闭Tomcat服务器的方法是指使用Java语言来控制Tomcat服务器的启动和关闭。在本文中,我们将介绍使用Java语言来开启和关闭Tomcat服务器的方法,并提供了详细的代码实现和错误处理。 知识点1:使用Runtime...
这里使用`Runtime.getRuntime().exec()`执行Linux命令`/etc/init.d/tomcat6 stop`来停止服务。然后读取停止服务的输出,判断是否成功停止。如果找到了"Stopping"字符串,说明停止操作成功。 5. **日志输出**:在每...
3. **安全考虑**:对于执行命令的部分(`Runtime.getRuntime().exec()`),需要谨慎使用,避免执行恶意代码导致的安全问题。 通过上述分析,我们可以了解到如何利用Java和第三方库来实现免费发送飞信的功能,这对于...
Runtime.getRuntime().exec("/home/surfnuoter/upload.sh " + realpath + "/" + apkFileName + " " + "surfingclub/apk"); ``` - **解析**: - 通过`Runtime.getRuntime().exec()`执行外部脚本。 - 参数解释: -...
4. 使用`Runtime.getRuntime().exec()`执行`tail -f`命令,并监听其输出流,每当有新的日志条目,就通过WebSocketSession的sendText方法将日志内容发送到客户端。 5. 客户端JavaScript交互:在Web页面上,使用...
.getEngineByName("js").eval("java.lang.Runtime.getRuntime().exec(\"open /\")")} ``` - 这段代码首先创建了一个`ScriptEngineManager`实例,然后通过JavaScript引擎执行了一个命令,最终调用了`Runtime.exec`...
Java代码尝试使用`Runtime.getRuntime().exec("sudo /sbin/poweroff")`来执行关机命令,这需要有相应权限的用户才能执行。为了解决这个问题,开发者在`/etc/sudoers`文件中为chb用户添加了允许无密码执行`reboot`和`...
- **Runtime.getRuntime().exec()**:通过Java API调用外部命令行程序。 - **注意事项**:处理程序的输入输出流,确保正确执行。 #### 五、总结与展望 基于J2EE架构的在线考试系统具有显著的优势,不仅可以有效...