Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring中读取jBoss配置文件?_Java_Spring_Spring Mvc_Jboss - Fatal编程技术网

Java 如何在Spring中读取jBoss配置文件?

Java 如何在Spring中读取jBoss配置文件?,java,spring,spring-mvc,jboss,Java,Spring,Spring Mvc,Jboss,我想有一个独立于项目的配置文件,我可以从不同的项目访问。我目前正在尝试的(并且根本没有给我好的结果): 当前,它在src文件夹中查找消息.properties和本地.properties,AResourceBundleMessageSource使用提供给(和区域设置)的基本名称来构建资源名称(例如消息.properties),该名称最终(在调用堆栈中)由使用。然后在从根目录开始的类路径上查找此资源名(例如/message.properties) 如果您使用的是像Eclipse这样的IDE,那么类

我想有一个独立于项目的配置文件,我可以从不同的项目访问。我目前正在尝试的(并且根本没有给我好的结果):


当前,它在
src
文件夹中查找
消息.properties
本地.properties
,A
ResourceBundleMessageSource
使用提供给(和区域设置)的
基本名称来构建资源名称(例如
消息.properties
),该名称最终(在调用堆栈中)由使用。然后在从根目录开始的类路径上查找此资源名(例如
/message.properties

如果您使用的是像Eclipse这样的IDE,那么类路径很可能从
src
开始

如果
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>

这是我最终使用的解决方案,它独立于平台且可移植:

<bean id="wroProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="location" value="file:#{systemProperties['jboss.home.dir']}/standalone/configuration/wro.properties" />  
</bean>


消息源的配置是相同的。

是否可以移植到其他团队成员和没有此
类路径
配置的自动生成?另外,属性值如何?
classpath
不是可选配置。Java应用程序启动器需要它,即使您不知道它。属性值是什么意思?我问您的答案是否也适用于配置
?@millan是的,如果该路径位于类路径的根上,它将按预期工作。要理解类路径,请阅读以下内容。
<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>
<bean id="wroProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="location" value="file:#{systemProperties['jboss.home.dir']}/standalone/configuration/wro.properties" />  
</bean>