application.properties当您以jar
形式运行应用程序时,您可能正在当前目录中以形式使用外部配置。但是,在外部雄猫中以战争方式部署时,“当前目录”不是很有用。即使您知道当前目录是什么,在该tomcat中运行的所有应用程序的位置也很可能在同一位置,因此,当您运行多个应用程序时,这将无法很好地工作。
我们在这里所做的是
PropertySources在我们的应用程序上声明两个:
@PropertySources({@PropertySource(value={"classpath:internal.properties"}), @PropertySource(value={"file:${application.properties}"})})
internal.properties包含属性的“内置”默认值。第二个
PropertySource是包含外部配置的文件。请注意,文件名本身就是一个属性。
我们在
Context应用程序的元素中(tomcat中)在外部定义:
<Context docbase="/path/to/your/war/your.war"> <Parameter name="application.properties" value="/path/to/your/properties/application.properties"/></Context>
这使您可以在tomcat中运行多个应用程序,每个应用程序都使用其自己的外部属性文件。您甚至可以使 同一 应用程序的多个实例以不同的属性运行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)