2010-06-08 31 views
1

我已經在內部開發Maven插件(可以稱之爲一個),使用Spring IoC容器和Maven項目(稱之爲)使用這個插件。導入系統屬性Maven插件的Spring上下文

我想指定B的pom.xml的特定插件配置,所以這個屬性會在插件的Spring上下文來訪問

我希望這樣的事情, pom.xml的(項目

<plugin> 
... 
<configuration> 
    <dummyproperty>dummy_value</dummyproperty> 
</configuration> 
... 
</plugin> 

Spring_context.xml(項目一個 - 插件)

<bean class="com.blabla.SomeClass"> 
<property name="someBeanProperty" value="${dummyproperty}" /> 
</bean> 
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 

我已經嘗試過使用插件配置的各種方法,額外的屬性文件,但春天的上下文中的佔位符沒有得到填充真正的值。 提前

+3

不應該使用Maven的內置IOC容器Plexus而不是Spring嗎? Plexus與Maven緊密集成。只需將'@parameter expression =「$ {dummyproperty}」'放置在屬性的setter的javadoc中即可訪問系統屬性。 – 2010-06-08 17:07:08

+0

@ abhin4v:同意。甚至還有一個叢 - 春天的「橋」,允許在Plexus中重複使用彈簧豆。 – 2010-06-09 09:32:58

回答

0

詢問與此

感謝你的幫助我實現了完全一樣的一種插件。解決方案是在插件mojo中有一個Properties成員,然後使用通常的<cofiguration>部分進行配置。

插件mojo負責加載spring XML並創建應用程序上下文。在使用應用上下文之前,mojo實例化一個PropertiesPlaceHolderConfigurer,將屬性設置爲在mojo中配置的Properties實例。

爲了方便起見,我還有一個Properties實例,其中的值被忽略,而是從項目中獲取。這允許在spring配置中使用與maven項目中相同的值方便地設置屬性。

+0

我試過你的解決方案,它對我來說工作正常。謝謝 – diy 2010-06-09 15:15:43