Java 如何设置OSGi和非OSGi WAR以使用外部属性文件

Java 如何设置OSGi和非OSGi WAR以使用外部属性文件,java,spring,configuration,osgi,war,Java,Spring,Configuration,Osgi,War,我有一个使用Spring的项目,它可以在OSGi容器(即Karaf)中作为.war运行,也可以在非OSGi容器(如Jetty)中作为.war运行。.wars是由单独的Maven项目创建的 目前,我的项目有一个位于.war中的属性文件,它是在Spring中使用PropertyPlaceHolderConfigurebean从.war的类路径中获取的。我们希望将该属性文件外部化。为两个.wars设置外部属性文件的最佳/最简单方法是什么 我知道OSGi.war可以设置我们的propertyPlaceH

我有一个使用Spring的项目,它可以在OSGi容器(即Karaf)中作为.war运行,也可以在非OSGi容器(如Jetty)中作为.war运行。.wars是由单独的Maven项目创建的

目前,我的项目有一个位于.war中的属性文件,它是在Spring中使用
PropertyPlaceHolderConfigure
bean从.war的类路径中获取的。我们希望将该属性文件外部化。为两个.wars设置外部属性文件的最佳/最简单方法是什么


我知道OSGi.war可以设置我们的
propertyPlaceHolderConfigure
bean来使用
osgix:cm properties
引用属性文件,但我不确定这是否也适用于非OSGi.war。(或者会吗?

我想说的是,您只需要确保每个组合都有不同的SpringXML文件。
例如,您将spring-app.xml文件作为您的中心spring配置文件。现在,当通过spring清单条目使用spring extender时,将其与spring-osgi-properties.xml组合,当在std.jetty容器中使用时,将其与spring-std-properties.xml组合

我想说,您只需要确保每个组合都有不同的SpringXML文件。 例如,您将spring-app.xml文件作为您的中心spring配置文件。现在,当通过spring清单条目使用spring extender时,将其与spring-osgi-properties.xml组合,当在std.jetty容器中使用时,将其与spring-std-properties.xml组合