gpt4 book ai didi

java - 为什么 maven-war-plugin 忽略我配置的 Web 资源过滤器?

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:05 26 4
gpt4 key购买 nike

我在src/main/filters/base.properties中有一个过滤器文件内容:

testProperty=testValue

我的 POM 定义了资源、过滤和其他 Web 资源(使用 maven-war-plugin)。它还会覆盖默认的过滤分隔符。

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<filters>
<filter>src/main/filters/base.properties</filter>
</filters>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<overwrite>true</overwrite>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/more-web-resources</directory>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>

所有过滤对于位于 src/main/resources 的文件都可以正常工作。 。但是,配置文件位于 src/main/more-web-resources没有被正确过滤。所以如果我有一个文件 src/main/more-web-resources/test.properties ,内容为:

finalTestProperty=@testProperty@

final src/main/webapp/test.properties文件看起来像:

finalTestProperty=@testProperty@

相对于:

finalTestProperty=testValue

因此,过滤对于使用 maven-war-plugin 指定的其他 Web 资源不起作用。我错过了什么?

最佳答案

好吧,经过一夜的 sleep ,我今天早上回来了,构建了,并且属性正在被正确过滤。我确保我的 POM 和项目结构与我的问题完全匹配,而且确实如此。我可能正在看原版 test.properties而不是内置的test.properties .

为了明确起见,并解决问题中的评论,我不必在 <resources/> 中定义额外的资源。 more-web-resources 部分目录中,我不必(重新)指定另一个 <filters/> 中的过滤器maven-war-plugin 配置中的部分,我不必(重新)指定 @ maven-war-plugin 内的分隔符。通过使用 POM 标准部分中定义的资源和过滤器以及 maven-resources-plugin,这一切都按照我最初的预期工作。

关于java - 为什么 maven-war-plugin 忽略我配置的 Web 资源过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48177150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com