我想通过 Kubernetes 为 tomcat 中的 server.xml 设置环境变量。这是我的部署.yaml:
apiVersion: v1
kind: Pod
metadata:
name: tomcat-test-pod
...
...
env:
- name: hostName
value: 'test.com'
- name: localhost
value: 'localhost.com'
这是我的 server.xml:
<?xml version='1.0' encoding='utf-8'?>
<Resource
auth="Container"
description="Global E-Mail Resource"
mail.debug="false"
mail.smtp.auth="false"
mail.smtp.ehlo="true"
mail.smtp.host="${hostName}"
mail.smtp.localhost="${localhost}"
mail.smtp.port="25"
mail.smtp.sendpartial="true"
mail.transport.protocol="smtp"
name="mail/Session"
type="javax.mail.Session"/>
From https://tomcat.apache.org/tomcat-9.0-doc/config/systemprops.html,它说我需要设置org.apache.tomcat.util.digester. PROPERTY_SOURCE
to org.apache.tomcat.util.digester.EnvironmentPropertySource
,但我不确定我应该做什么。我需要在 setenv.sh 中设置它还是需要创建另一个类?任何帮助将不胜感激..
org.apache.tomcat.util.digester.PROPERTY_SOURCE
是一个 Java 系统属性,因此您可以在接受系统属性的地方设置它:
- 您可以将其添加到命令行选项中,例如通过添加到
setenv.sh
:
CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.EnvironmentPropertySource
仅当您致电时这才有效catalina.sh/startup.sh
启动 Tomcat(直接或间接)。例如,当将 Tomcat 作为服务启动时,它将无法在 Windows 上运行。
- 将系统属性添加到
catalina.properties
:
org.apache.tomcat.util.digester.PROPERTY_SOURCE=org.apache.tomcat.util.digester.EnvironmentPropertySource
这总是有效的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)