怎么用java 代码启动tomcat? 有人知道吗??
解决方案 »
- Struts2的iterator如何获取一级分类和对应的二级分类
- IIS用了80端口我的tomcat还可以用吗??
- FileInputStream 路径问题,急
- 初学者问题toncat
- How to get Ruby AST using JRuby?
- 关于servlet的问题,请高手帮忙!
- linux系统中能否启动两个resin服务
- 链接下载文件问题,服务器weblogic,在线等待,解决即给分
- websphere在同时连接数上是不是有限制
- 哪位大神有比较成熟的SSH源码?想自学下
- 将文件压缩到内存并下载的问题
- SSH启动org.apache.commons.dbcp.SQLNestedException:异常,急~~~~~~~~~~~~~~~~~~~~~~~
写个例子:
[code]
Runtime rt = Runtime.getRuntime();
rt.exec("/var/tomcat/bin/startup.sh");
[/code]
java.lang.Process p = java.lang.Runtime.getRuntime().exec("net start \"Apache Tomcat\"");
java.io.BufferedReader in = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream()));
String s;
String t = "启动成功";
boolean restart = false;
while ((s = in.readLine()) != null) {
if (s.indexOf(t) != -1) {
restart = true;
break;
}
} 在网上找的代码没搞懂这是怎么搞的???路径都没不知道怎么启动的??
Runtime rt = Runtime.getRuntime();
rt.exec("/var/tomcat/bin/startup.sh");
java.lang.Process p = java.lang.Runtime.getRuntime().exec("E:/tomcat5.5.25/bin/startup.bat");
我改成这样还是不行
Process process = runtime.exec( "C:\\Tomcat\\bin\\shutdown.bat ");
Process process = runtime.exec( "C:\\Tomcat\\bin\\startup.bat "); http://topic.csdn.net/t/20040921/11/3393820.html
Runtime rt=Runtime.getRuntime();
String cmd="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\bin\\tomcat6.exe"; rt.exec(cmd);
@echo off
set CATALINA_HOME=D:\\tomcate\\tomcat6 --设置环境变量
pause
D:\\tomcate\\tomcat6\\bin\\startup.bat --tomact的startup.bat路径
2.Java代码如下:
try {
String command = "cmd.exe /C start /min C:\\bat.bat";
Process child = Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();}给分吧!
The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this programD:\zxhyworkspace\TianqueSMSServer>
看了这个贴子同上面的错一样的http://topic.csdn.net/t/20040921/11/3393820.html
就是解决不了
怎么我的可以呢?是不是你在我电脑属性中已经把CATALINA_HOME的路径已经设置死了
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_04
rem ---------------------------------------------------------------------------
rem Start script for the CATALINA Server
rem
rem $Id: startup.bat 302918 2004-05-27 18:25:11Z yoavs $
rem ---------------------------------------------------------------------------rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR%
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set CATALINA_HOME=%cd%
cd %CURRENT_DIR%
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHomeset EXECUTABLE=%CATALINA_HOME%\bin\catalina.batrem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find %EXECUTABLE%
echo This file is needed to run this program
goto end
:okExecrem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgscall "%EXECUTABLE%" start %CMD_LINE_ARGS%:end
@echoif "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem Stop script for the CATALINA Server
rem
rem $Id: shutdown.bat 302913 2004-05-27 15:05:01Z yoavs $
rem ---------------------------------------------------------------------------rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR%
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set CATALINA_HOME=%cd%
cd %CURRENT_DIR%:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end:okHome
set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find %EXECUTABLE%
echo This file is needed to run this program
goto end:okExec
rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs:doneSetArgs
call "%EXECUTABLE%" stop %CMD_LINE_ARGS%:end
public static void main(String[] a) throws Exception
{
String start = "cmd /c \"D:\\Program Files\\Apache Software Foundation\\Tomcat 5.5\\bin\\tomcat5w.exe\"";
Process pro = Runtime.getRuntime().exec(start);
}
}
这个启动了监视器
Process pro = Runtime.getRuntime().exec(start);没明白楼主要达到什么效果,windows下这样就可以起来了
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR%你手动设置一下CATALINA_HOME然后再执行,这里需要这个脚本在他本身的文件夹执行才有效,所以你直接runtime.exec( "C:\\Tomcat\\bin\\startup.bat ");
CATALINA_HOME无法正确被复制
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrator>e:E:\>E:\tomcat5.5.25\bin\startup.bat
The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this programE:\>
我用命今都不能启动,但是双击startup.bat是能启动没有错的.是不是我那里没有配制???
不要再e:\来个E:\tomcat5.5.25\bin\startup.bat
去E:\tomcat5.5.25\bin直接运行startup.bat
什么去
去E:\tomcat5.5.25\bin直接运行startup.bat
没看懂 讲了是用JAVA启动
echo %cd%
那然后你说
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR%
之后CATALINA_HOME会是什么
C:\Documents and Settings\Administrator>e:\echo %cd%
'e:\echo' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
因为他们经常用到相对路径,tomcat这个也是如此,就算你从java里运行也要去他的所在文件夹运行.....
在e:\盘符下输入echo %cd%
.....
看来我上面那些也白说了
'e:\' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
等之后有时间了你再来搞清楚这些东西
C:\Documents and Settings\Administrator>e:E:\>echo %cd%
E:\E:\>echo %cd% set current_dir=%cd%
E:\ set current_dir=E:\E:\>if not "%catalina_home%"=="" goto gotHome set catalina_home="current_dir"E:\>if not "%catalina_home%"=="" goto gotHomeE:\> set catalina_home="current_dir"E:\>
e:
在e:\盘符下输入echo %cd%
这只是让你知道%cd%会输出什么
但如果你连之后的
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR%
也看不懂的话,那就算了,安装注册服务那个版的,不需要启动服务,只需要你在java中以普通进程方式启动tomcat.exe就行了
1、把tomcat源码下下来部署在eclipse中运行
2、用java的本地命令调用API执行tomcat中的startup.bat
我也很希望知道原因...搭车同求解决方法...
此脚本运行目录会在e盘根目录下,这样当他执行到
set CURRENT_DIR=%cd%
if not "%CATALINA_HOME%" == "" goto gotHome
set CATALINA_HOME=%CURRENT_DIR%(这一段是在脚本中的)
时会首先把CURRENT_DIR设置成e:\然后把CATALINA_HOME设成了e:\这样肯定是错的
所以要么你手动在系统环境变量中设置正确的CATALINA_HOME,要么在启动脚本时需要cd到E:\tomcat5.5.25\bin,然后再执行startup.bat
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec( "net start 服务名"); 在开发时一般不这样做
Using CATALINA_BASE: E:\tomcat5.5.25
Using CATALINA_HOME: E:\tomcat5.5.25
Using CATALINA_TMPDIR: E:\tomcat5.5.25\temp
Using JRE_HOME: C:\Program Files\Java\jdk1.6.0_04
C:\Documents and Settings\Administrator>在 cmd 中这样可以启动了,可是在java中还是不行Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("E:\\tomcat5.5.25\\bin\\startup.bat "); 继续求解
startup.bat必须在tomcat的bin目录运行
你在C盘建一个bat.bat文件
cd E:\tomcat5.5.25\bin
E:
startup.bat代码
try {
String command = "cmd.exe /C start /min C:\\bat.bat";
Process child = Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();}