Tomcat 无法启动 (Windows 10)
Tomcat won't start (Windows 10)
我正在尝试启动应用程序(pentaho 商业智能服务器),但 .bat 文件不会 运行。它不会抛出任何错误或任何东西,命令提示符弹出然后立即消失。然后我发现 tomcat 不是 运行ning,但是 tomcat 日志文件夹中没有记录错误。
这是我启动 bat 文件时在命令提示符中显示的内容(我不得不添加一个停顿以查看它在退出前的位置)
我还 运行 catalina.bat 文件,我还可以看到它最后尝试 运行 的是这个 CLASSPATH,似乎它试图打开这个 tomcat-juli.jar 和 bootstrap.jar,但不知何故无法正常工作。
我对这一切都不熟悉,所以我不确定这是否正常,您能指出正确的方向来解决这个问题吗?
编辑 1.有人建议我添加有问题的 bat 文件的代码,这里是:
@echo off
setlocal
cd /D %~dp0
cscript promptuser.js //nologo //e:jscript
rem errorlevel 0 means user chose "no"
if %errorlevel%==0 goto quit
echo WScript.Quit(1); > promptuser.js
call set-pentaho-env.bat "%~dp0jre"
cd tomcat\bin
set CATALINA_HOME=%~dp0tomcat
SET BITS=64
SET DI_HOME="%~dp0pentaho-solutions\system\kettle"
set CATALINA_OPTS=-Xms2048m -Xmx6144m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dfile.encoding=utf8 -DDI_HOME=%DI_HOME%
rem Make sure we set the appropriate variable so Tomcat can start (e.g. JAVA_HOME iff. _PENTAHO_JAVA_HOME points to a JDK)
if not exist "%_PENTAHO_JAVA_HOME%\bin\jdb.exe" goto noJdk
if not exist "%_PENTAHO_JAVA_HOME%\bin\javac.exe" goto noJdk
set JAVA_HOME=%_PENTAHO_JAVA_HOME%
set JRE_HOME=
goto start
:noJdk
rem If no JDK found at %_PENTAHO_JAVA_HOME% unset JAVA_HOME and set JRE_HOME so Tomcat doesn't misinterpret JAVA_HOME == JDK_HOME
set JAVA_HOME=
set JRE_HOME=%_PENTAHO_JAVA_HOME%
:start
call startup
:quit
endlocal
pause
编辑 2. 经过一些研究,我确定问题是 tomcat 没有开始,更改问题的标题。
我已经尝试过的事情:
正在将端口从 8080 更改为 8081。
设置_PENTAHO_JAVA_HOME环境。
从命令提示符打开 tomcat (startup.bat) 和 catalina.bat,它只是告诉我 运行s 它但在 CLASSPATH 之后退出(与提供的截图完全一样)
检查 tomcat 中的日志文件,它是空的
我成功了,我卸载了java11,安装了java8(这个版本兼容pentaho),然后我把环境_PENTAHO_JAVA_HOME改成这个java 8,成功了。但是现在我只能让它从 tomcat startup.bat 而不是从文件 start-pentaho.bat 开始工作,所以我想仍然有办法让它像预期的那样工作.
我正在尝试启动应用程序(pentaho 商业智能服务器),但 .bat 文件不会 运行。它不会抛出任何错误或任何东西,命令提示符弹出然后立即消失。然后我发现 tomcat 不是 运行ning,但是 tomcat 日志文件夹中没有记录错误。
这是我启动 bat 文件时在命令提示符中显示的内容(我不得不添加一个停顿以查看它在退出前的位置)
我还 运行 catalina.bat 文件,我还可以看到它最后尝试 运行 的是这个 CLASSPATH,似乎它试图打开这个 tomcat-juli.jar 和 bootstrap.jar,但不知何故无法正常工作。
我对这一切都不熟悉,所以我不确定这是否正常,您能指出正确的方向来解决这个问题吗?
编辑 1.有人建议我添加有问题的 bat 文件的代码,这里是:
@echo off
setlocal
cd /D %~dp0
cscript promptuser.js //nologo //e:jscript
rem errorlevel 0 means user chose "no"
if %errorlevel%==0 goto quit
echo WScript.Quit(1); > promptuser.js
call set-pentaho-env.bat "%~dp0jre"
cd tomcat\bin
set CATALINA_HOME=%~dp0tomcat
SET BITS=64
SET DI_HOME="%~dp0pentaho-solutions\system\kettle"
set CATALINA_OPTS=-Xms2048m -Xmx6144m -XX:MaxPermSize=256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dfile.encoding=utf8 -DDI_HOME=%DI_HOME%
rem Make sure we set the appropriate variable so Tomcat can start (e.g. JAVA_HOME iff. _PENTAHO_JAVA_HOME points to a JDK)
if not exist "%_PENTAHO_JAVA_HOME%\bin\jdb.exe" goto noJdk
if not exist "%_PENTAHO_JAVA_HOME%\bin\javac.exe" goto noJdk
set JAVA_HOME=%_PENTAHO_JAVA_HOME%
set JRE_HOME=
goto start
:noJdk
rem If no JDK found at %_PENTAHO_JAVA_HOME% unset JAVA_HOME and set JRE_HOME so Tomcat doesn't misinterpret JAVA_HOME == JDK_HOME
set JAVA_HOME=
set JRE_HOME=%_PENTAHO_JAVA_HOME%
:start
call startup
:quit
endlocal
pause
编辑 2. 经过一些研究,我确定问题是 tomcat 没有开始,更改问题的标题。
我已经尝试过的事情:
正在将端口从 8080 更改为 8081。
设置_PENTAHO_JAVA_HOME环境。
从命令提示符打开 tomcat (startup.bat) 和 catalina.bat,它只是告诉我 运行s 它但在 CLASSPATH 之后退出(与提供的截图完全一样)
检查 tomcat 中的日志文件,它是空的
我成功了,我卸载了java11,安装了java8(这个版本兼容pentaho),然后我把环境_PENTAHO_JAVA_HOME改成这个java 8,成功了。但是现在我只能让它从 tomcat startup.bat 而不是从文件 start-pentaho.bat 开始工作,所以我想仍然有办法让它像预期的那样工作.