我希望有一个项目独立的配置文件,我可以从不同的项目访问。我目前正在尝试(并没有给我很好的结果):
<bean id="wroProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="${JBOSS_HOME}/standalone/configuration/wro.properties" />
</bean>
我使用Spring 3
和JBoss 7.1
。我的配置文件位于jboss/standalone/configuration/....properties
下。除此之外,我想用以下内容从同一目录中读取消息文件:
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="messages,local" />
<property name="useCodeAsDefaultMessage" value="true" />
</bean>
目前它在messages.properties
文件夹中查找local.properties
和src
?
答案 0 :(得分:2)
这是我最终使用的解决方案,它是独立于平台且可移植的:
<bean id="wroProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="file:#{systemProperties['jboss.home.dir']}/standalone/configuration/wro.properties" />
</bean>
消息源的配置完全相同。
答案 1 :(得分:0)
ResourceBundleMessageSource
使用提供给basenames
(和语言环境)来构建资源名称(例如message.properties
),最终(在调用堆栈中)/message.properties
使用3}}。然后在从其根开始的类路径中查找此资源名称(例如src
)。
如果你使用像Eclipse这样的IDE,你的类路径很可能从jboss/standalone/configuration/...
开始。
如果您的类路径中还有basenames
且属性文件位于此处,则可以将<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="jboss/standalone/configuration/messages,jboss/standalone/configuration/local" />
<property name="useCodeAsDefaultMessage" value="true" />
</bean>
更改为
{{1}}