2015-12-09 89 views
1

我有一个要求,我必须从我的项目中加载一个包含CQ5连接详细信息的属性文件,并将其作为bean属性提供给我的maven依赖项中添加的jar。我的项目使用这个罐子来连接到CQ,所以我应该能够将CQ连接细节作为bean属性提供给该项目。 现在我的项目不是基于弹簧的,所以我不能使用PropertyPlaceholderConfigurer,而添加为Maven依赖项的jar是基于Spring的。不使用PropertyPlaceholderConfigurer加载属性文件

有没有其他的方法来替换下面的bean属性中的值。

<bean id="slingJsonRequestor"  class="com.my.project.content.requestor.SlingRequestor"> 
    <constructor-arg name="suffix" value="json.js"></constructor-arg> 
    <constructor-arg name="resourceBlacklist" ref="slingBlacklistCache"></constructor-arg> 
    <property name="url" value="${cq-url}"></property> 
    <property name="urlCacId" value="${cq-url-cacid}"></property> 
    <property name="urlTemplate" value="${cq-url-template}"></property> 
</bean> 

请提供一个非弹簧解决方案来实现这一点。

+0

如果有任何方法可以实现从EJB3.0应用程序中设置这些属性,请帮助 – Neel

回答

0

是的,可以用Maven来完成。

Maven Resources Plugin

你根本属性元素和资源元素添加到您的pom.xml:

<properties> 
    <myproperty>A special value</myproperty> 
</properties> 

<build> 
    <resources> 
     <resource> 
     <directory>src/main/resources</directory> 
     <filtering>true</filtering> 
     <includes> 
      <include>**/myproperties.properties</include> 
     </inlcudes> 
     </resource> 
    </resources> 
</build> 

这时如果文本$ {myProperty的}在myproperties.properties遇到行家将取代它与pom.xml的属性值(与Spring不同,嘿?)

相关问题