Java 在tomcat级别重写tomcat属性
目前,我的应用程序能够使用两种策略解析应用程序属性:Java 在tomcat级别重写tomcat属性,java,tomcat,systemd,properties-file,Java,Tomcat,Systemd,Properties File,目前,我的应用程序能够使用两种策略解析应用程序属性: 内部:此策略将使用代码库中的应用程序.properites文件 外部属性:如果文件存在于tomcat级别的config文件夹中,则此策略可以使用application.properites文件 例如:如果tomcat是以以下方式启动的/opt/tomcat/bin/startup.sh。代码将通过以下路径查找外部属性/opt/tomcat/bin/config/application.properties 如果应用程序以以下方式启动,则此
- 内部:此策略将使用代码库中的
文件应用程序.properites
- 外部属性:如果文件存在于tomcat级别的
文件夹中,则此策略可以使用config
文件李>application.properites
/opt/tomcat/bin/startup.sh
。代码将通过以下路径查找外部属性/opt/tomcat/bin/config/application.properties
如果应用程序以以下方式启动,则此方法可以正常工作sh/opt/tomcat/bin/startup.sh
,但它不适用于systemd单元tomcat文件服务tomcat start
有/etc/systemd/system/tomcat.service
单元文件的内容
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/opt/java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
我试图将配置文件夹复制到/etc/systemd/system/
,但仍然无法工作
任何使用systemd脚本的
config
文件夹正确路径的想法。我已在单位文件中用以下行修复了它:
WorkingDirectory=/opt/tomcat/bin
我已经用单位文件中的以下行修复了它:
WorkingDirectory=/opt/tomcat/bin
用什么方法不起作用?你犯了什么错误?我刚把它修好。当我使用以下命令服务tomcat start启动tomcat时,它不起作用。实际上并没有加载外部属性文件,而是使用了内部属性。以什么方式不工作?你犯了什么错误?我刚把它修好。当我使用以下命令服务tomcat start启动tomcat时,它不起作用。实际上并没有加载外部属性文件,而是使用了内部属性。