java - maven 3.2.3 无法正确导入资源

标签 java spring maven

我有一个项目,它使用 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;

最佳答案

我在升级时遇到了一些类似的问题。对我来说,它不仅通过清除目录来解决,而且还提供了一个明确的

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

似乎所有未显式包含的内容都隐式排除

我不知道这是一个错误还是一个功能:)

关于java - maven 3.2.3 无法正确导入资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26497522/

相关文章:

java - HashTable 和 HashMap key-value 是如何存储在内存中的?

java - 使用 REST 和 HttpClient 访问 Facebook API

java - java中将图像向右旋转90度

java - Spring Profiles 和 Spring Boot Profiles 是一样的吗?

java - Magento 类覆盖设计模式的正式名称?

node.js - 相当于 Maven 的神器的 Node 存储库是什么?

java - 当 JSON 对象没有值的键时设置 null

perl - 在 perl 项目中使用 maven

Maven-ear-plugin 未复制 xml 文件

java - 存储库查询和实体实例变量名称