如何在启动时在 Tomcat 配置中指定系统属性?

2023-11-21

我知道我可以通过使用 -D 参数传递参数来指定 Tomcat 的系统属性,例如“-Dmy.prop=值".

我想知道是否有一种更简洁的方法可以通过在 context.xml 文件或其他一些 tomcat 配置文件中指定属性值来实现此目的。我想这样做,因为首先,更容易跟踪我的属性,其次,我正在运行多个上下文,并且我不知道如何通过 -D 参数指定特定于上下文的属性。

我使用的是 Tomcat 5.5 版本。


克利夫·迈耶斯建议使用的原始答案<env-entry>仅使用 System.getProperty() 时没有帮助

根据 Tomcat 6.0 文档<env-entry>用于 JNDI。所以这意味着它不会有任何影响System.getProperty().

随着<env-entry> from 克利夫·迈耶斯的例子,如下代码

System.getProperty("SMTP_PASSWORD");

将返回 null,而不是值“abc123ftw”。

根据 Tomcat 6 文档,使用<env-entry>你必须编写这样的代码才能使用<env-entry>:

// Obtain our environment naming context
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");

// Look up our data source
String s = (String)envCtx.lookup("SMTP_PASSWORD");

警告:我实际上还没有尝试过上面的例子。但是我have tried <env-entry>与 System.getProperty() 一起使用,这绝对行不通。

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

如何在启动时在 Tomcat 配置中指定系统属性? 的相关文章

随机推荐

  • org.apache.solr.common.SolrException:缺少内容流

    我已经使用 Tomcat 和我的安装了 Apache Solr solr admin工作正常 但是当我尝试发出 solr update我收到以下错误 可能是什么原因 org apache solr common SolrException
  • 以编程方式访问 Google Chrome 历史记录

    我想在谷歌浏览器中索引所有用户操作和网站 我了解 google chrome 索引 sqlLite 数据库中的所有数据 我如何在我自己的应用程序中以编程方式访问 chrome 网络历史记录 您需要从以下位置下载适当的程序集SqLite 下载
  • chrome.runtime 是否支持使用可传输对象发布消息?

    我正在学习可转移对象 http updates html5rocks com 2011 12 Transferable Objects Lightning Fast 它们看起来非常棒 我想在我的扩展中使用它们来加速数据从 iframe 内部
  • Java 错误:EventDispatchThread.run() 行:不可用 [局部变量不可用]

    当我尝试在调试器中启动代码时 出现以下错误 EventDispatchThread run line not available local variables unavailable 代码非常大 我无法在这里发布 但无论如何这里有一些细节
  • 多次登录尝试后实施禁令的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 在我实施了自己的禁止过多尝试的系统后 过去两天我一直在研究这个问题 但我还没有找到我正在寻找的正确答案 这几乎是 实现这一点的最佳方法是什么 目前我是通过IP封禁的方式实现的 如果同
  • rllib 使用自定义注册环境

    Rllib 文档提供了一些有关如何创建和训练自定义环境 有一些有关注册该环境的信息 但我想它的工作方式需要与健身房登记 我正在与简单走廊环境 如果我将注册码添加到文件中 如下所示 from ray tune registry import
  • 为什么 UIButton 没有返回正确的约束?

    在我下面的代码中 我在垂直滚动视图中添加了 5 个按钮 每个按钮都限制为滚动视图的顶部 20 前缘 后缘及其高度 我创建了一个b1HeightConstraint多变的 它的作用是保持高度约束b1按钮 单击按钮 我试图消除此限制 然而我面临
  • 如何更改颠覆存储库的结构?

    我是 Subversion 的新手 所以我现在不知道这是不是一个愚蠢的问题 我继承了一个具有扁平结构的颠覆存储库 没有 trunk tags branches 顶层 我想重新构造它 使其遵循 trunk tags branches layo
  • 允许逗号和空格分隔的数字列表的正则表达式

    我想使用 javascript 或 jquery 编写正则表达式以允许 逗号分隔的数字列表 OR 空格分隔的数字 OR 逗号后跟空格分隔的数字 OR 上述任何一种的组合 任何非数字 空格或逗号的内容都必须被拒绝 应该通过 111 222 3
  • 如何将 pandas.core.series.Series 转换为列表?

    I tried print type numbers 2 numbers 2 tolist print type numbers 2 那是行不通的 我有
  • 需要可预测的随机生成器

    我是一名网页游戏开发人员 我遇到了随机数问题 假设一名玩家有 20 的几率用剑造成致命一击 这意味着 五分之一的点击应该是关键的 问题是我在现实生活中得到了非常糟糕的结果 有时玩家在 5 次命中中获得 3 次暴击 有时在 15 次命中中没有
  • 访问所有活动中的 GoogleApiClient 对象

    如果大多数人想要使用 Google Plus 登录他们的应用程序 这似乎是一件简单的事情 s 在活动 1 中 我让用户登录 登录后 我想让该用户对象全局可访问 因此我将其添加到 Application 对象中 public class Gl
  • 尝试使用 phusion Passenger 启动 Rails 应用程序时,US-ASCII 中的字节序列无效

    我正在尝试使用 Phusion Passenger 和 RVM 在 Ubuntu 生产服务器上部署 Rails 3 应用程序 我已成功安装 Phusion Passenger 但在浏览器上访问服务器时出现以下错误 Ruby Rack app
  • 当 mongodb 内存不足时会发生什么?

    例如 我的数据库有 20 GB 数据 只有 2 GB 内存 交换已关闭 我能够查找并插入数据吗 性能会有多差 最好用谷歌搜索一下 但许多消息来源表示 当您的工作集超出 RAM 大小时 性能将显着下降 分片可能是一个有趣的选择 而不是添加更多
  • 如何在C中链接多个实现文件

    我有多个 c文件 即实现文件说 main c A c B c 任何文件中的函数都可以调用不同文件中的任何函数 我的问题是 我需要 h即 A 和 B 的每个实现的头文件 其中每个头文件都有以下定义ALLA 或 B 中的函数 另外 main c
  • 如何在 ASP.NET MVC 中将复杂的 ViewModel 传递到服务层?

    假设我有用于用户注册的 RegisterModel 和一些实现 IUserService 的 UserService public interface IUserService User CreateUser User newUser Ht
  • Android - 如何检查 Proguard 混淆是否有效?

    我已经对我的 apk 进行了混淆 但文件大小仅从 12MB 减少到 10 5MB 它只是相对较小的减少的原因可能是因为我的应用程序使用了几个大型库 但是有什么方法可以检查已执行的混淆级别吗 以防万一 这是我的 proguard projec
  • Google Maps API v3:InfoWindow 大小不正确

    当您单击 Google 地图 v3 上的主页图标时 我的 InfoWindow 似乎无法根据 InfoWindow 的内容正确自动调整大小 它在不应该出现的时候提供了滚动条 信息窗口应该正确地自动调整大小 有什么想法吗 根据请求 相关 Ja
  • 适用于 LTE 和 GSM 网络的 eCGI 和 CGI

    我正在尝试确定 UE 连接到的 CGI 小区全局标识符 从3GPP规范来看 它的定义如下 3G CGI PLMN ID LA 代码 CID 4G ECGI PLMN ID ECI 我已经可以从系统中获取LAC 位置区域代码 和CID 小区I
  • 如何在启动时在 Tomcat 配置中指定系统属性?

    我知道我可以通过使用 D 参数传递参数来指定 Tomcat 的系统属性 例如 Dmy prop 值 我想知道是否有一种更简洁的方法可以通过在 context xml 文件或其他一些 tomcat 配置文件中指定属性值来实现此目的 我想这样做