catalina.bat可以改变环境变量吗?

时间:2012-03-14 12:03:39

标签: java tomcat windows-7 environment-variables catalina

我正在继承一个项目,并且(根据其他开发人员的指示)用他的(他使用相同的版本)覆盖了我的Tomcat的catalina.bat版本。然后我尝试重新启动Tomcat并获得与commons-logging.jar相关的异常,这是一个Tomcat依赖。

经过很多挫折之后,我刚下载了一个不同版本的Tomcat,并尝试开箱即用(没有配置)......我得到了同样的错误!

所以我几天前问过this question。我的共识是,我的类路径已经变得“脏”,现在我想知道我盲目复制的catalina.bat文件是否设置了影响Tomcat引导能力的环境变量 - 甚至是跨版本。

我知道这个问题与我提出的另一个问题相似,但却有所不同。虽然我的第一个问题是“这里有什么问题”并且更加通用,但我现在要问的是(虽然相关),更具体,关于catalina.bat以及它与Windows 7环境变量的关系。

感谢您的帮助。

编辑:我看到这个问题已经因为“偏离主题”而有了一个密切的投票。我反对的论点如下:SO是一个编程Q& A网站,用于询问与代码和编程相关的特定问题。 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.propertiesClassLoaderLogManager条目。这对任何人来说意味着任何吗?!?

2 个答案:

答案 0 :(得分:2)

您可以在任何批处理文件中设置环境变量,包括catalina.bat。但是这些更改仅保留在当前运行的环境中,不会影响所有其他运行环境。

对于CLASSPATH,如果您看到set CLASSPATH=之类的内容,请查看相应的批处理文件,其中提供了有关正在设置的类路径的信息。

答案 1 :(得分:1)

在您的其他问题中查看以前的答案,并不表示共识是类路径已经变得“脏”。但是,Tomcat设置本身已经变得很脏,因为它是几种不同Tomcat版本的混合体。

请注意,默认情况下,Tomcat不会使用CLASSPATH中的值,而是为了避免出现问题。您应该检查您的同事给您的文件,看看他在其中发生了什么变化(考虑到您可以在BAT文件中编写几乎任何内容,根据您的描述确定几乎不可能确定问题&#39已经给出了。)

祝你好运。