泊坞窗+ Tomcat的+的.properties - 环境变量

问题描述:

我需要部署一个Tomcat服务器设置泊坞窗+ Tomcat的+的.properties - 环境变量

/META-INF/config.properties

里面的MySQL数据库链接到一个码头工人的文件。我们部署这些容器的方式,IP不能被硬编码到程序中。

有没有办法从这个文件中的系统拉环境变量?我想要做这样的事情:

mdms.db.url=jdbc:mysql://**${MYSQL_HOST}**/db_mdms?useEncoding=true&characterEncoding=UTF-8&autoReconnect=true mdms.db.username=root mdms.db.password=thesecretsauce

我一直在寻找互联网和发现,当启动我应该能够设定某种

-DMYSQL_HOST=$MYSQL_HOST

该应用程序,但启动与该国旗的tomcat没有做到这一点,我一直无法得到它的工作。

我已经试过的另一件事是:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations" value="/WEB-INF/config.properties"/> <property name="ignoreResourceNotFound" value="true" /> <property name="searchSystemEnvironment" value="true" /> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> </bean>

尽管这似乎没有这样的伎俩无论是:(

我既相互配合又试图

我在Netbeans上运行Xubuntu Linux编程(虽然已经想出了如何在不需要NetBeans的情况下部署tomcat)

我不是应用程序作者;我也非常流利地使用Tomcat/Java网络应用程序。然而,这需要完成,并且存在语言障碍(或拒绝,我还没有弄清楚)阻止我让作者为我解决这个问题。

感谢您的帮助! - 保罗

我设法解决这个问题的方法是设置CATALINA_OPTS在DockerFile:

ENV CATALINA_OPTS="-Dkey=value" 

例如,整个DockerFile我的应用程序应该是这样的:

FROM tomcat:8.0-jre8 
ENV spring.profiles.active=dev 
ENV CATALINA_OPTS="-Dkey=value" 
ADD myWar.war /usr/local/tomcat/webapps/ 
CMD ["catalina.sh", "run"] 
+0

如何你编辑了你的context.xml吗?是使用docker命令还是直接完成的? – Righto

+0

@Righto,这个回答与编辑context.xml无关。 –