CATALINA_OPTS 与 JAVA_OPTS - 有什么区别?

2024-04-02

我试图找出 Apache Tomcat 变量之间的区别 -CATALINA_OPTS and JAVA_OPTS in SO http://stackoverflow.com并惊讶地发现这里还没有发布问题/答案。所以我想在发现差异后在这里分享(带答案)。检查下面的答案/差异。

NOTE:在发布本文时,我们正在 CentOS5 64 位架构上运行带有 JDK 6u32 的 Apache Tomcat v6.0.10。


有两个环境变量 -CATALINA_OPTS and JAVA_OPTS- 两者均用于catalina.shTomcat 的启动和关闭脚本。

CATALINA_OPTS: 在 catalina.sh 内评论 https://github.com/apache/tomcat/blob/main/bin/catalina.sh#L47:

#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
#                   "run" or "debug" command is executed.
#                   Include here and not in JAVA_OPTS all options, that should
#                   only be used by Tomcat itself, not by the stop process,
#                   the version command etc.
#                   Examples are heap size, GC logging, JMX ports etc.

JAVA_OPTS: 在 catalina.sh 内评论 https://github.com/apache/tomcat/blob/main/bin/catalina.sh#L65:

#   JAVA_OPTS       (Optional) Java runtime options used when any command
#                   is executed.
#                   Include here and not in CATALINA_OPTS all options, that
#                   should be used by Tomcat and also by the stop process,
#                   the version command etc.
#                   Most options should go into CATALINA_OPTS.

那么为什么会有两个不同的变量呢?有什么区别呢?

  1. 首先,在任一变量中指定的任何内容都会以相同的方式传递给启动 Tomcat 的命令 -start or run命令 - 但仅限于设置的值JAVA_OPTS被传递到stop命令。这可能对 Tomcat 在实践中的运行方式没有任何影响,因为它只影响运行的结束,而不是开始。

  2. 第二个区别更为微妙。其他应用程序也可以使用JAVA_OPTS,但只有Tomcat会使用CATALINA_OPTS。因此,如果您设置的环境变量仅供 Tomcat 使用,则最好使用CATALINA_OPTS,而如果您要设置其他 java 应用程序(例如 JBoss)使用的环境变量,则应该将您的设置放在JAVA_OPTS.

Source: CATALINA_OPTS 与 JAVA_OPTS - 有什么区别? http://www.wellho.net/mouth/2163_CATALINA-OPTS-v-JAVA-OPTS-What-is-the-difference-.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CATALINA_OPTS 与 JAVA_OPTS - 有什么区别? 的相关文章

随机推荐

  • htaccess 加载页面 B 而不是页面 A,无需重定向

    使用 htaccess文件 如何加载page B when page A已加载 我不想更改 URL 它仍然应该显示page A 示例 用户负载www mysite com contact并得到结果www mysite com contact
  • bash 中有 do-while 循环吗? [复制]

    这个问题在这里已经有答案了 有没有do whilebash 中循环 我知道如何编程while在 bash 中循环 while condition do body done 是否有类似的构造 但是对于do while循环 其中body至少执行
  • 从应用程序到服务的通信

    我想从我的 Android 应用程序到我的 Android 服务进行通信 我有两个选择 但我不知道该选择哪个 使用应用程序注册服务 使用 LocalBinder 从应用程序连接到服务 解决方案1 应用程序 public class MyAp
  • Apache Cordova/Visual Studio 2015 工具无法在 IOS 模拟器中启动应用程序

    我尝试在 IOS 模拟器上使用 MacInCloud 和 Remotebuild 测试我的应用程序 一切都运行良好 并且应用程序使用 Remotebuild 进行编译 Visual Studio 随后会显示状态 部署成功 当我在 Mac 上
  • 在 zip 中写入(修改或添加)文件

    我已按照中的说明进行操作这个线程 https stackoverflow com questions 13787318 java util zip replace a single zip file 使用其中的代码 我已经能够将文件添加到
  • 如何使 XMLHttpRequest 在 Firefox 上通过 HTTPS 工作?

    当我尝试通过 XMLHttpRequest 发送 HTTP GET 请求时 它适用于非安全 HTTP 但是当通过 HTTPS 发送时 不同的浏览器给出不同的结果 在火狐 3 0 2 上 GET 请求未到达 Web 服务器 在 IE 7 上
  • 将 Plotly 与 R 结合使用的悬停模式

    当使用 R 和 ggplot2 进行绘图时 有没有办法对悬停模式进行编码 目前 我的代码是 plot lt ggplot data aes var1 var2 text var3 geom point py ggplotly plot 我希
  • Soundcloud API - Access-Control-Allow-Origin 不允许来源

    作为后续通过永久链接而不是 trackid 播放播放列表或曲目 https stackoverflow com questions 19351797 play playlist or track by permalink not track
  • 导致git merge冲突的原因和情况有哪些?

    什么是 必要和充分的条件 和 或 所有案例或一些常见案例 这可能会导致git merge报告合并冲突 如何git merge判断一行或几行是否包含 合并冲突 例如 我有时会看到类似以下的情况 其中Part 1 or Part 2是空的 lt
  • 尝试使用 socket.io 时出现错误

    我目前正在使用 socket io swift 客户端 在 Iphone SE 上运行 这是快速代码 let socket SocketIOClient socketURL URL string http example com 4000
  • 更改 CodeBlocks 中的链接器顺序

    我在 DialogBlocks 5 03 中有一个项目 可以使用 mingw32 正常编译 但使用 CodeBlocks 13 12 显示此错误 F wxWidgets 3 0 0 lib gcc lib libwxmsw30u core
  • 如何计算圆上两点之间的弧角?

    给定一个已知圆心和圆上两点 即已知半径 的圆 如何确定圆上两点之间的最小圆弧角度 将中心到两点变成一对向量 然后推过去this http en wikipedia org wiki Vector 28geometry 29 Dot prod
  • 为什么Android Studio 1.0 rc会开始下载Android SDK而不检测是否存在?

    我已经在我的 Archlinux 盒子里安装了 Android Studio 1 0 rc 和 Android SDK 但是当我尝试创建一个新的Android应用程序时 AS会尝试直接从dl ssl google com下载另一组SDK 我
  • 什么情况下不会调用 C++ 析构函数?

    我知道我的析构函数是在堆栈的正常展开和抛出异常时调用的 但不是在调用 exit 时调用 还有其他情况我的析构函数不会被调用吗 SIGINT 或 SIGSEGV 等信号怎么样 我认为对于 SIGSEGV 它们不会被调用 但对于 SIGNINT
  • ld: -bundle 和 -bitcode_bundle 不能一起使用

    我正在建造llvm clang 3 7具有位码支持 fembed bitcode 由于错误 某些模块无法链接 ld bundle 和 bitcode bundle Xcode 设置 ENABLE BITCODE YES 不能一起使用 cla
  • 实际上使用 UIDatePickerModeCountDownTimer 作为计时器

    我只是想制作一个计时器 我想用UIDatePickerModeCountDownTimer的模式UIDatePicker 这样当用户只需在选择器中选择 15 分钟时 他们就会返回到一个屏幕 该屏幕在标签中显示 15 分钟的值 然后他们可以从
  • 具有多表继承的父类上的 Django post_save 信号

    在 Django 中 如果您有使用多表继承的模型 并且您在父类上为 post save 信号定义了一个接收器 那么当保存子类的实例时 是否会调用该接收器函数 借个例子来自另一个问题 https stackoverflow com quest
  • 在 R 中将完整年龄从字符转换为数字

    我有一个数据集 其中人们的完整年龄为 R 中的字符串 例如 10 年 8 个月 23 天 我需要将其转换为有意义的数字变量 我正在考虑将其转换为有多少天人的年龄 这很困难 因为月份有不同的天数 因此 最好的解决方案可能是创建一个双变量 将年
  • 如何检测android中的屏幕覆盖?

    在某些设备中 当屏幕覆盖应用程序正在运行时 单击 VPN 权限确定按钮时不会执行任何操作 所以我想检查屏幕覆盖应用程序是否正在运行 并创建 检测到屏幕覆盖 对话框 有没有办法在android中以编程方式检测屏幕覆盖 示例代码 public
  • CATALINA_OPTS 与 JAVA_OPTS - 有什么区别?

    我试图找出 Apache Tomcat 变量之间的区别 CATALINA OPTS and JAVA OPTS in SO http stackoverflow com并惊讶地发现这里还没有发布问题 答案 所以我想在发现差异后在这里分享 带