landslide 2010-08-31 14:50
浏览 229
已采纳

java程序启动 tomcat 无法完成_____分不多,还请见谅

[size=small]JDK版本 : 1.6
JDK变量配置 : classpath=C:\Java\jdk1.6.0\bin
JAVA_HOME=C:\Java\jdk1.6.0
Path=C:\Java\jdk1.6.0\bin

tomcat版本 : 6.x
tomcat路径 : F:\apache-tomcat-6.0.20[/size]

[color=olive]通过使用[/color]
[color=red] Runtime.getRuntime().exec("cmd /C start F:\apache-tomcat-6.0.20\bin\startup.bat")[/color]
命令调用tomcat 启动文件,无法成功
[color=red] error: The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program[/color]

却不清楚bat文件中应该修改哪些地方 :oops:

startup.bat
[code="bat"]@echo off
rem set JAVA_HOME=D:\Program Files\Java\jdk1.6.0_11;
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements. See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

if "%OS%" == "Windows_NT" setlocal
rem ---------------------------------------------------------------------------
rem Start script for the CATALINA Server
rem
rem $Id: startup.bat 562770 2007-08-04 22:13:58Z markt $
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%" start %CMD_LINE_ARGS%

:end[/code]

  • 写回答

3条回答 默认 最新

  • hahfish 2010-08-31 17:04
    关注

    这个可能是启动目录设置有问题,就是Runtime.getRuntime().exec,执行的时候的当前目录并不是tomcat的目录,
    我建议你要么手工设置一下%CATALINA_HOME%,要么就是调用这个
    exec(String command, String[] envp, File dir)
    其中第三个参数设置为tomcat的目录即new File("F:\'apache-tomcat-6.0.20")

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵