tomcat

时间:2015-07-06 13:51:41

标签: java-ee servlets tomcat8

我想在我的tomcat(tocat / bin / catalina.bat)中设置JAVA_HOME变量,指向我系统中安装的JDK,以便servlet引擎能够使用Java。

实际上我需要在批处理文件中添加以下内容:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_45

但我的问题是该批处理文件中已存在setlocal而未按以下方式配置:

setlocal

当我启动tomcat而没有在批处理文件中设置JAVA_HOME变量时,它刚刚启动,页面可以在我的Web浏览器中成功加载。

我可以在批处理文件中知道此行的功能吗?我是否需要将此setlocal行替换为set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_45,或者保持原样并添加一行。这会影响我以后的发展吗?

1 个答案:

答案 0 :(得分:0)

运行批处理文件时,使用 setlocal 更改环境变量。运行 setlocal 后进行的环境更改是批处理文件的本地更改。 Cmd.exe 在遇到 endlocal 命令或到达批处理文件末尾时恢复以前的设置。 (见here

  1. 当我启动tomcat而没有在批处理文件中设置JAVA_HOME变量时,它刚刚启动,并且可以在我的Web浏览器中成功加载页面。

    它可能有效,因为您设置了JAVA_HOME环境变量(您可以通过执行以下操作之一来检查它:

    • 开始 - >运行 - > “C:\ Windows \ system32 \ rundll32.exe”sysdm.cpl,EditEnvironmentVariables - >好的 - >检查系统变量
    • 开始 - >右键单击计算机 - >属性 - >高级系统设置 - >环境变量 - >检查系统变量
    • 开始 - > cmd.exe - > echo%JAVA_HOME%
  2. 我可以在批处理文件中知道此行的功能吗?我是否需要将此“setlocal”行替换为“set JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_45”,或者保持原样并添加一行。它会影响我以后的开发吗?

    你可以使用设置JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_45 因为如果你注意catalina.bat,你会在某个时候看到以下一行:
    if "%OS%" == "Windows_NT" setlocal
    发出SETLOCAL后对环境变量所做的更改是批处理文件的本地。

  3. 我可以在批处理文件中知道此行的功能吗?我是否需要将此“setlocal”行替换为“set JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_45”,或者保持原样并添加一行。它会影响我以后的开发吗?
    如果您的系统上安装了多个JDK,则在 catalina.bat 文件<中添加设置JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_45 行< / LI>