2

我是 Maven 的新手,我正在努力掌握它。我已经阅读了初学者的教程,并且能够理解基本的东西,但是我的项目中有一个复杂的 pom.xml 文件,我的下一个目标是理解它。

由于从初学者指南中获得的知识有限,我无法理解复杂的 pom.xml,所以我正在考虑在 pom.xml 中添加某种日志语句或寻找一种替代方法,通过它我可以跟踪在 pom.xml 中执行,因为这将帮助我了解事情是如何发展的。

4

4 回答 4

2

我相信 maven 中的调试选项生成的输出可能非常庞大且阅读起来非常耗时。我只将它用于一些特定的问题分析。

对我来说,它总是通过阅读并尝试理解特定部分作者的意图来处理复杂的 pom.xml 文件(我认为 pom.xml 元素的良好参考可以在以下位置找到:http://maven.apache .org/pom.html)。

之后运行构建后,您可以看到它执行了什么以及何时执行,并且您可以找到您之前所学的内容和它的实际工作方式之间的映射:)

于 2012-08-22T07:35:21.310 回答
2

您可以使用maven-antrun-plugin将一些日志消息打印到 maven 控制台,您还可以指定要在其中打印消息的阶段,请参见下面的代码(它转到插件部分)

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
            <id>print-log</id>
            <phase>initialize</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <target>
                    <echo message="Your log message for project ${project.artifactId}" />
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>
于 2012-08-22T07:51:25.070 回答
1

我建议阅读更多关于Maven 构建生命周期的信息。Maven不是类似脚本的构建自动化工具(如antmake)。这是一种不同的方法。日志应该不如./target目录中生成的输出工件重要。

于 2012-08-22T08:09:11.803 回答
1

您可以从发行开始

mvn -X install

这将为您提供执行流程。

根据mvn --help

-X,--debug     Produce execution debug output

如果您想查看所有依赖项、属性、插件、目录等,请尝试以下方法:

mvn help:effective-pom
于 2012-08-22T07:26:22.493 回答