我已经用jersey创建了一个RESTAPI,我正试图找出如何根据环境处理配置文件。
主要问题是,我的web应用程序部署在linux服务器上,因此在windows上的开发环境和linux上的暂存和prods环境之间不能有相同的路径。
我的配置文件是一个基本的xml文件。有没有一种方法可以将环境变量添加到该xml文件中,并告诉java在运行时将这些环境变量替换为相应的值?如果可能的话,可以添加一个与配置文件中所有路径的根路径相对应的环境变量,该路径将根据单个环境变量进行更改。
是否有更好的方法根据环境处理配置文件?
1条答案
按热度按时间chhkpiq41#
有许多方法可以将配置外部化。您可以以SpringBoot为例,它目前支持14个配置源(参见外部化配置)。
在您的例子中,您可能希望支持第5点到第9点,这可以很容易地在jax-rs应用程序中实现。例如,您可以使用如下内容:
您还可以坚持使用一个属性源,如
ServerContext
初始化参数,并在context.xml
使用java系统属性或os环境属性的文件:tomcat替换占位符${variable_name}
在其所有xml配置文件中。