gpt4 book ai didi

maven - 如何查看有效 pom(在 Maven 中)的部分来自哪里?

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

我正在 Maven 中处理一个项目,我试图了解有效 pom.xml 中某些设置的来源。我想向后追溯,以便找出需要更改的 pom 文件。我已经修改了我的父 pom、我的 settings.xml 文件和任何其他似乎起作用的 pom,但是我想要更改的设置仍然存在于有效的 pom 中。

有没有办法查看有效 pom 的部分来自哪里?或者,我至少可以看到进入有效 pom 的 pom 文件的“依赖”链吗?

基本上我有一个与这个问题类似的问题:How to remove repositories from Effective POM但如果有一种方法可以向后追溯,那真的会对我有所帮助。

谢谢!

最佳答案

This answer描述了创建有效 POM 的各个部分。

您可以尝试使用 this answer 的变体查看 POM 层次结构(您称之为“依赖”链)。将此配置添加到父 POM 的 <build><plugins>部分(暂时?)看到它。

<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>echo-build-environment</id>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
<![CDATA[
log.info("POM Hierarchy")
def rootPom = project;
while (rootPom.parent != null) {
log.info(rootPom.groupId + ':' + rootPom.artifactId + ':' + rootPom.version)
rootPom = rootPom.parent;
}
log.info(rootPom.groupId + ':' + rootPom.artifactId + ':' + rootPom.version)
]]>
</source>
</configuration>
</execution>
</executions>
</plugin>

(注意,在纯 Groovy 中,上面的 log.info 行可以写成
"${rootPom.groupId}:${rootPom.artifactId}:${rootPom.version}"

Groovy 称这些为 GString s。我知道 gmaven 插件处理 GStrings 与普通 Groovy 略有不同,但现在没有时间查看详细信息,因此在示例中使用了常规字符串连接。)

关于maven - 如何查看有效 pom(在 Maven 中)的部分来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30872206/

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