2014-10-21 112 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