我有一个使用maven配置文件设置属性文件的项目,因此我可以为不同的环境使用不同的属性。
使用maven版本3.2.1(Eclipse Luna捆绑的默认版本),这一切都在游泳。但是,我下载了最新版本的maven,3.2.3,当我将其设置为我的maven版本时,一切都爆炸了。这些值被读作空字符串。
我应该为此提交Maven错误吗?我无法在3.2.2或3.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 :(得分:1)
升级时我遇到了一些类似的问题。对我而言,它不仅解析了目录,而且还提供了一个明确的
<includes>
<include>myFile.properties</include>
</includes>
似乎所有未明确包含的内容被隐式排除。
我不知道这是一个错误还是一个功能:)