gpt4 book ai didi

maven-2 - 嵌套 Maven 属性在引用 POM 时进行评估,而不是定义 POM

转载 作者:行者123 更新时间:2023-12-02 10:49:18 24 4
gpt4 key购买 nike

我正在我的父 pom 中定义一个报告配置,它将在每个子项目和孙项目中运行。

像这样:

<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<xmlOutput>true</xmlOutput>
<threshold>Low</threshold>
<effort>Min</effort>
<includeFilterFile>${basedir}/findbugsFilter.xml</includeFilterFile>
</configuration>
</plugin>
</plugins>
</reporting>

问题是每个 child 都插入其 basedir而不是定义 POM。我想我正在寻找相当于 ANT 的 <property name="name" location="${basedir}"/> .

最佳答案

简短版本:documentation of the findbugs-maven-plugin 中描述了您的问题的解决方案。 。您只需为包含 findbugsFilter.xml 的构建配置创建一个单独的(顶级)项目,并将该项目作为依赖项引用。

长版本:不幸的是,从 Maven 中的父项目或同级项目访问资源有点复杂。原因是:当构建子项目时,Maven 不能假设父模块是上一级的,或者兄弟项目在文件系统中处于同一级别。事实上,它甚至不能假设这些项目中的任何一个都在某个地方被检查过!仅检查单个子项目并按原样构建它是完全合法的。因此,当使用 Maven 构建时,所有内容(除了极少数异常(exception))都是从本地存储库加载的。这就是为什么您必须为要在多个模块中使用的资源创建单独的项目。然后,可以将单独的项目添加为依赖项,并由一堆不同的 Maven 插件使用。示例有: checkstyle和 findbugs 插件来读取配置文件,maven-dependency-plugin将外部文件复制到您的工件或 properties-maven-plugin加载外部属性文件。

关于maven-2 - 嵌套 Maven 属性在引用 POM 时进行评估,而不是定义 POM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465777/

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