2014-10-21 60 views
1

我有一個使用maven配置文件設置屬性文件的項目,因此我可以針對不同的環境使用不同的屬性。maven 3.2.3無法正確導入資源

隨着maven版本3.2.1(與Eclipse Luna捆綁在一起的默認版本),這一切都很順利。但是,我下載了最新版本的Maven 3.2.3,當我將它設置爲我的Maven版本時,它全部爆炸了。這些值被讀爲空字符串。

我應該爲此提交一個Maven錯誤嗎?在3.2.23.2.3的發行說明中,我無法找到任何看起來應該導致此問題的內容。

下面是簡介:

<profile> 
     <id>dev</id> 
     <build> 
      <resources> 
       <resource> 
        <directory>src/main/config/local</directory> 
       </resource> 
      </resources> 
     </build> 
    </profile> 

然後我使用Spring將文件添加到類路徑:

@Bean 
public static PropertySourcesPlaceholderConfigurer propertyPlaceHolderConfigurer() { 

    PropertySourcesPlaceholderConfigurer props = new PropertySourcesPlaceholderConfigurer(); 
    props.setLocations(new Resource[] { new ClassPathResource("service.properties") }); 
    return props; 
} 

而最終匯入其值:

@Value(value = "${db.username}") 
private String DB_USERNAME; 
+0

。對我來說,這不僅是通過刪除「目錄」來解​​決的,而且還提供了一個獨特的「myFile.properties」。它*看起來像所有不是明確包含的內容*是隱式排除的*。 – dognose 2014-10-21 22:41:16

+0

這似乎解決了我的問題。你應該可以讓它成爲答案!看起來像發佈說明中應該包含的信息,我也不確定他們爲什麼會這麼做。 – CorayThan 2014-10-21 22:47:21

+0

添加爲答案 - 隨時接受:) – dognose 2014-10-21 22:49:18

回答

1

我遇到了一些在升級時會遇到類似的問題。對我來說,它是由不僅declearing目錄解決,但也提供了一個excplicit

<includes> 
    <include>myFile.properties</include> 
</includes> 

好像一切不是明確列入隱式排除

我不知道這是否是我遇到過,升級時的一些問題simliar錯誤或功能:)

+0

我提出了一個錯誤報告:https://jira.codehaus.org/browse/MNG-5704 - 讓我們看看它是有意的,未知的 - 或者我們只是曾經做錯了:) – dognose 2014-10-21 23:21:52