gpt4 book ai didi

当资源过滤找不到属性时,Maven 警告或失败目标

转载 作者:行者123 更新时间:2023-12-04 18:09:39 24 4
gpt4 key购买 nike

我开始从事一个文档记录不佳的 Maven 项目。我已经为项目设置了我的配置文件,但我可能会或可能不会丢失在资源过滤期间使用的属性定义。默认情况下,如果过滤文件中未定义属性,则变量名称将保留在复制的资源中,Maven 会静默继续。

在这种情况下,有没有办法强制 Maven 快速失败?

作为一个最小的例子,以这个 pom 为例,

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>my-app</name>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>production</id>
<properties>
<foo>Craig</foo>
</properties>
</profile>
</profiles>
</project>

并有一个资源来过滤:
 echo 'Hello, my name is ${foo}!' > src/main/resources/test

然后运行 ​​ mvn clean install -Pproduction生成一个文件,内容为 Hello, my name is Craig!运行时 mvn clean install生成一个文件,内容为 Hello, my name is ${foo}! .

所以我的问题是;在第二种情况下,如何强制 Maven 失败?

最佳答案

Codehause 数据库中此功能存在 JIRA 问题:

  • MRESOURCES-163过滤:检查是否有没有被替换的占位符
  • MRESOURCES-162如果资源未完全过滤,则构建失败

  • 您可以登录并为他们投票。不幸的是,对这一重要安全网功能的需求似乎很低……奇怪。

    关于当资源过滤找不到属性时,Maven 警告或失败目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732618/

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