我是 Maven 的新手,我正在努力掌握它。我已经阅读了初学者的教程,并且能够理解基本的东西,但是我的项目中有一个复杂的 pom.xml 文件,我的下一个目标是理解它。
由于从初学者指南中获得的知识有限,我无法理解复杂的 pom.xml,所以我正在考虑在 pom.xml 中添加某种日志语句或寻找一种替代方法,通过它我可以跟踪在 pom.xml 中执行,因为这将帮助我了解事情是如何发展的。
我相信 maven 中的调试选项生成的输出可能非常庞大且阅读起来非常耗时。我只将它用于一些特定的问题分析。
对我来说,它总是通过阅读并尝试理解特定部分作者的意图来处理复杂的 pom.xml 文件(我认为 pom.xml 元素的良好参考可以在以下位置找到:http://maven.apache .org/pom.html)。
之后运行构建后,您可以看到它执行了什么以及何时执行,并且您可以找到您之前所学的内容和它的实际工作方式之间的映射:)
您可以使用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>
我建议阅读更多关于Maven 构建生命周期的信息。Maven不是类似脚本的构建自动化工具(如ant或make)。这是一种不同的方法。日志应该不如./target
目录中生成的输出工件重要。
您可以从发行开始
mvn -X install
这将为您提供执行流程。
根据mvn --help
:
-X,--debug Produce execution debug output
如果您想查看所有依赖项、属性、插件、目录等,请尝试以下方法:
mvn help:effective-pom