java - 将系统变量传递给部署到 tomcat 的应用程序

标签 java spring-boot tomcat

我有一个运行三个应用程序的 tomcat 服务器。 对于其中一个,我需要传递系统变量 (-D),例如 spring active profiles 和其他一些项目特定变量。 我已经阅读了文档,其中一个解决方案是在 $CATALINA_BASE/localhost/文件夹中创建一个 context.xml(据我所知它必须与 war 文件同名)

我试过这样做

<Context>
  <Parameter name="spring.profiles.active" value="profile"
  override="false"/>
        <Parameter name="variable" value="value"
  override="false"/>
</Context>

但是在 tomcat 重新启动后,应用程序似乎没有启动,实际上什么也没有发生。

由于 tomcat 服务器上有 3 个应用程序,我无法使用 setenv.sh 并且必须专门为此项目传递参数。

您是否知道我做错了什么以及如何将系统变量传递给 tomcat 服务器上的特定应用程序?

感谢您的建议

最佳答案

我的错误是我将文件命名为 context.xml 而不是 applicationName.xml 文件本身看起来像:

<Context>
<Environment name="spring.profiles.active" value="profile" type="java.lang.String" override="false" />

关于java - 将系统变量传递给部署到 tomcat 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58306349/

相关文章:

java - 自定义溢出菜单在 Android API 21 和 23+ 中不会给出相同的结果

java - Hibernate 为什么我的对象变得分离?

spring-boot - 响应式(Reactive) Elasticsearch 和分页

spring-boot - 使用gradle将Zip文件上传到nexus

linux - Tomcat 根本没有部署新版本的文件 - linux/eclipse

java - 使JSP无法从外部访问

java - 建议 Tomcat 的 Java 堆大小到服务器 HPSM9.41 webtier

spring - 如何在两个应用程序之间共享同一个 session

java - Websocket(spring)ssl连接(空链)

Tomcat 中的 session 管理