我正在接手一个项目,根据另一位开发者的指示,用他的catalina.bat覆盖了我的Tomcat版本(他使用的是相同的版本)。然后我尝试重新启动Tomcat,但出现了与commons-logging.jar有关的异常,这是Tomcat的依赖项。
经过很多挫折,我只是下载了一个不同版本的Tomcat,并尝试直接运行它(没有配置)...结果我得到了相同的错误!
所以我几天前在SO上问了这个问题。共识是我的类路径某种方式变得“脏”,现在我想知道我盲目复制的catalina.bat文件是否设置了环境变量,影响了Tomcat跨版本引导的能力。
我知道这个问题与我之前提出的问题类似,但是不同。虽然我的第一个问题是“这里有什么问题”,而且更加普遍,但我现在提出的问题(虽然相关),更具体,涉及到catalina.bat和它如何与Windows 7环境变量相关联。
感谢任何帮助。
编辑:我看到这个问题已经有一个关闭投票,理由是“离题”。我的反驳如下:SO是一个用于提问与代码和编程有关的具体问题的编程问答网站。catalina.bat
是一个脚本,也就是一段代码,而这个问题涉及我正在使用的脚本中可能存在的错误/缺陷。
编辑:在catalina.bat
中找到了错误信息来自的那一行(同样也是Tomcat启动失败的地方)。这是从7.0.19版本中未改变的行:
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
我能够在脚本中放置echos
并获取到以下值:
JAVA_OPTS = -Djava.util.logging.config.file="C:\Program Files\Apache\apache-to
mcat-7.0.19\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli
.ClassLoaderLogManager
CATALINA_OPTS =
DEBUG_OPTS =
JAVA_ENDORSED_DIRS = C:\Program Files\Apache\apache-tomcat-7.0.19\endorsed
CLASSPATH = C:\Program Files\Apache\apache-tomcat-7.0.19\bin\bootstrap.jar
CATALINA_BASE = C:\Program Files\Apache\apache-tomcat-7.0.19
CATALINA_HOME = C:\Program Files\Apache\apache-tomcat-7.0.19
CATALINA_TMPDIR = C:\Program Files\Apache\apache-tomcat-7.0.19\temp
MAINCLASS is org.apache.catalina.startup.Bootstrap
CMD_LINE_ARGS =
ACTION = start
JAVA_OPTS引起了我的注意,其中包括
logging.properties
和ClassLoaderLogManager
条目。这对任何人来说都有意义吗?!?
setenv.bat
文件,它可能会影响 Java 选项。 - user330315