首页 > 解决方案 > Tomcat 无法启动(Windows 10)

问题描述

我正在尝试启动一个应用程序(pentaho 商业智能服务器),但 .bat 文件不会运行。它不会抛出任何错误或任何东西,命令提示符会弹出然后立即消失。然后我发现它没有运行的tomcat,但是在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没有启动,改变了问题的标题。

我已经尝试过的事情:

标签: windowsbatch-filetomcatclasspathpentaho

解决方案


我设法让它工作,我卸载了 java 11 并安装了 java 8(这个版本与 pentaho 兼容),然后我将环境 _PENTAHO_JAVA_HOME 更改为这个 java 8,让它工作。但是现在我只能通过 tomcat startup.bat 而不是从文件 start-pentaho.bat 让它工作,所以我想还有一种方法可以让它按预期工作。


推荐阅读