Java 加载属性文件时出错(插件:maven war插件:2.4:war:默认war:包)

Java 加载属性文件时出错(插件:maven war插件:2.4:war:默认war:包),java,maven,maven-war-plugin,Java,Maven,Maven War Plugin,我想根据配置文件配置属性文件,可以是dev或prod,但是属性文件的位置构造不正确。我已经找到了类似问题的答案,但这些答案都并没有帮助解决这个问题 我收到的错误如下: 加载属性文件“E:\Development\CodeSource\GitHub\myproject\profiles\dev\mongo.properties”(org.apache.maven.plugins:maven-war-plugin:2.4:war:default-war:package)时出错 属性文件的实际位置为:

我想根据配置文件配置属性文件,可以是
dev
prod
,但是属性文件的位置构造不正确。我已经找到了类似问题的答案,但这些答案都并没有帮助解决这个问题

我收到的错误如下:

加载属性文件“E:\Development\CodeSource\GitHub\myproject\profiles\dev\mongo.properties”(org.apache.maven.plugins:maven-war-plugin:2.4:war:default-war:package)时出错

属性文件的实际位置为:

E:\Development\CodeSource\GitHub\myproject\src\main\resources\profiles\dev\mongo.properties
因此,我将资源位置设置如下:


真的
src/main/resources
尽管如此,它仍然找不到属性文件

以下是整个pom文件:


4.0.0
abc.myproject
我的神器
战争
0.1.0-SNAPSHOT
项目名称
站点描述
http://www.myproject.abc
UTF-8
1.8
1.8
假的
2.4
输出
//各种依赖关系
v${project.artifactId}#${project.version}
profiles/${build.profile.id}/mongo.properties
真的
src/main/resources
org.apache.maven.plugins
maven战争插件
${maven war plugin.version}
${tomcat部署路径}
真的
org.apache.maven.plugins
maven编译器插件
3
${maven.compiler.source}
${maven.compiler.target}
发展
真的
发展
戳
戳

我正在使用Eclipse。

过滤器文件的路径是。因此,您需要这样配置它:


src/main/resources/profiles/${build.profile.id}/mongo.properties

谢谢@Tunaki。现在修好了。但是,我很好奇为什么资源目录筛选没有用作概要文件位置的基础。我发现一些例子似乎是这样使用的。@Alex嗯,那太奇怪了。你有这些例子的链接吗?我看不出它是如何工作的。下面是我跟随的文章:在这个例子中,它展示了如何根据执行的配置文件将占位符替换为值。这似乎也不起作用。@Alex按照我的阅读方式,它没有提到将筛选文件放在
src/main/resources
中。它说“必须从profiles/[profile name]目录中找到配置文件。”因此我将其解释为:相对于根目录(因为Maven中的几乎所有内容都是相对于根目录的)。感谢@Tunaki的澄清