如何从spring applicationContext获取其他项目的资源?

时间:2013-03-23 13:55:07

标签: eclipse spring jsf maven

我有一个名为fc-jsf的项目。该项目的spring上下文引用了fc-bus项目中名为Beans.xml的其他spring上下文。我有fc-bus作为fc-jsf的项目依赖。

我像这样导入Beans.xml:

<import resource="classpath*:com/fc/spring/Beans.xml" />

它的工作,但它说fc-jsf项目无法看到在Beans.xml中声明的属性:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
            <value>com/fc/properties/database.properties</value>
        </property>
    </bean>

例外是:

SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/com/fc/properties/database.properties]

如何在不将属性文件复制到fc-jsf项目的情况下访问database.properties?

编辑:theese是maven项目,database.properties是fc-bus - &gt; src / main / resurces / com / fc文件夹。

2 个答案:

答案 0 :(得分:0)

尝试使用

等属性
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <value>classpath:com/fc/properties/database.properties</value>
    </property>
</bean>

否则它不知道它应该使用哪个包

答案 1 :(得分:0)

尝试使用<value>classpath*:database.properties</value>