【问题标题】:How to add jvm options to tomcat on windows 7如何在 Windows 7 上将 jvm 选项添加到 tomcat
【发布时间】:2013-12-18 12:27:08
【问题描述】:

如何在 Windows 7 上向 Tomcat 添加 jvm 选项?顺便说一句,我使用的是 Tomcat 7。我将我的 jvm 选项添加到 catalina.bat 文件的第一行,但它没有用。我想我做错了什么。有什么想法吗?

【问题讨论】:

  • 尝试使用文件 setenv.bat(添加此文件)
  • @MariuszS 没有名为 setenv.bat 的文件?
  • 正如 MariuszS 所说,您应该自己添加文件并在其中添加 JVM 选项。 Catalina.bat 会检查这个文件是否存在并执行。
  • @Pieter 我在 bin 目录中创建了一个名为 setenv.bat 的文件并添加了 set JAVA_OPTS=-Dproject.home=C:\Users\myproject 但没有用。
  • 您是否收到特定错误?或者您能否更详细地描述什么不起作用?

标签: java tomcat


【解决方案1】:

我更喜欢使用context.xml 作为 tomcat 环境变量:

文件conf\context.xml 应如下所示:

<?xml version='1.0' encoding='utf-8'?>
<Context>

     ...

     <Environment name="project.home" value="C:\Users\myproject" type="java.lang.String"/>

</Context>

在此环境变量project.home 之后,您可以在您的tomcat 应用程序中轻松访问。

【讨论】:

  • 这不起作用,因为JVM启动后无法设置JVM选项。
  • project.home 对我来说看起来像是 tomcat 中的 web 应用程序的选项,但你是对的,这不适用于 JVM。
【解决方案2】:

给你我的两分钱,

使用 CATALINA_OPTSJAVA_OPTS。您可以根据需要在catalina.bat 文件中的任一变量中设置jvm options。阅读 catalina.bat 文件中有关这些变量的 cmets。你会明白的

编辑在您发表评论后

  1. 在windows中设置环境变量-project.home 使用此link 的环境。现在,您的环境变量已设置
  2. 在 setenv.bat 中设置 JAVA_OPTS(你需要创建这个文件)

    设置 JAVA_OPTS="-Dproject.home"

  set JAVA_OPTS="%JAVA_OPTS% -Dproject.home"

出于安全目的。这将在现有的JAVA_OPTS 前面加上新值。启动服务器。始终使用大写字母、数字和下划线作为环境变量。这是出于便携性的原因。

【讨论】:

  • 我阅读了 catalina.bat 中的所有 cmets 但我什么都不懂。
  • 您可以发布您要添加的选项吗?
  • -Dproject.home=C:\Users\myproject
  • echo %project.home% 的输出是 "%project.home%"
  • 将环境变量“Dproject.home”更改为“project.home”。删除环境变量名称中的“D”。但是,不要忘记你应该在 JAVA_OPTS 中设置时加上 -D 以表示它是用户定义的系统变量
【解决方案3】:

创建文件bin/setenv.bat。如果您使用bin/startup.batbin/catalina.bat 启动Tomcat,则setenv 脚本将在执行大多数其他操作之前运行。您可以通过设置CATALINA_OPTS 环境变量来设置您想要的任何JVM 选项。

如果您从 Microsoft Windows 的服务面板使用 Tomcat 的服务启动器来启动 Tomcat,那么您不能使用此技术。相反,您需要使用适当的options you can find here 运行tomcat7.exe

请注意,您也可以设置JAVA_OPTS,但JAVA_OPTS 将用于所有JVM 进程,包括启动以请求关闭Tomcat 的进程。例如,如果要为 Tomcat 启用 RMI 服务并将其设置为 JAVA_HOME,则 Tomcat 将正常启动,但在尝试关闭时,可能会因端口冲突而导致关闭过程失败。同样,如果您需要一个 20GiB 的 Tomcat 堆,并且您在 JAVA_OPTS 中设置了 -Xms-Xmx,那么您最终将为 停止 Tomcat 的进程创建一个 20GiB 的堆。因此,请使用CATALINA_OPTS,除非您有充分的理由使用JAVA_OPTS

【讨论】:

    猜你喜欢
    • 2011-12-06
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多