使用Spring Profile加载util:属性会导致多次出现ID

时间:2013-12-06 13:07:23

标签: spring spring-profiles

我使用Spring(3.1)配置文件加载属性文件vis util:properties:

<beans profile="local">
    <util:properties id="myProps"  
                     location="classpath:local.properties" />
</beans>
<beans profile="dev">
    <util:properties id="myProps"  
                     location="classpath:dev.properties" />
</beans>

我通过运行时参数(在TC Server上运行)调用配置文件:-Dspring.profiles.active=local

但我收到错误There are multiple occurrences of ID value 'myProps'

这是先前使用其他bean定义运行的,但是一旦添加了util:properties,我就会收到错误。

1 个答案:

答案 0 :(得分:1)

确保您的xsd声明对beansutil命名空间使用&gt; = 3.1版本:

xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-3.1.xsd  ">

最可能的错误原因是忘记将util声明设置为3.1,如果你说这适用于其他bean而不是那些使用util声明的bean。