我在maven下有一个Java应用程序构建。它包含两个属性文件 - application.default.properties和application.properties。第二个假设补充和/或覆盖一些属性。我在同一个src / main / resources目录中也有logback.xml文件。 我想在jar文件中保留日志记录和默认属性,但将application.properies移动到树的根目录。我将以下部分放入我的pom.xml的构建部分
<resources>
<resource>
<directory>src/main/resources</directory>
<targetPath>${user.dir}</targetPath>
<filtering>false</filtering>
<includes>
<include>application.properties</include>
</includes>
</resource>
</resources>
它会按预期复制application.properties文件,但其他两个文件从jar文件中消失。 有人可以告诉我我做错了什么以及如何缓解这个问题。 附:我确实浏览了maven文档,但无法在那里找到答案,所以请不要告诉我RTFM,但是如果有,请提供指向它的指针。
答案 0 :(得分:2)
您需要的是另一个<resource>
部分,其中包含 application.default.properties 和 logback.xml ,并以不同方式对待它们。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<targetPath>${user.dir}</targetPath>
<filtering>false</filtering>
<includes>
<include>application.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>application.properties</exclude>
</excludes>
</resource>
</resources>
</build>
将 application.properties 复制到${user.dir}
,并将 src / main / resources 中的所有其他内容打包到输出jar中。
答案 1 :(得分:0)
您必须将根目录所需的特定文件移动到另一个目录。
您对包含模式所做的是隐式排除其他文件。如果包含它们,它们也会被移动。