m2eclipse的最新版本有个基于表单的POM编辑器,能让你通过一个易用的GUI接口来编辑项目pom.xml
的每一个部分。要打开POM编辑器,点击项目的pom.xml
文件。如果你为pom.xml
文件定制了编辑器,POM编辑器不是默认的编辑器,你可以在这个文件上右击然后选择“Open
With... / Maven POM Editor”。POM编辑器会显示Overview标签页如Figure 14.27, “idiom-core的POM编辑器的Overview标签页”。
一个针对Maven的常见的抱怨是,在十分复杂的多模块项目构件中,它让开发人员面对十分巨大的XML文档。虽然本书的作者相信这只是为类似Maven的工具有带来的弹性所付出的小小的代价,但图形化的POM编辑器这样的工具能让用户在不知道Maven POM背后的XML结构的情况下就能使用Maven。
Figure 14.27, “idiom-core的POM编辑器的Overview标签页”中展示的项目的artifactId
是idiom-core
。你会注意到项目idiom-core
的大部分字段是空的。POM编辑器中没有groupId
或者version
,也没有SCM信息。这是因为idiom-core
从一个名为idiom
的父项目中继承了大部分的信息。如果我们在POM编辑器中打开父项目的pom.xml
文件,我们会看到如Figure 14.28, “idiom父项目的POM编辑器的Overview标签页”的Overview标签页。
整个POM编辑器中各种各样的列表条目上的“打开文件夹”图标说明对应的条目在Eclipse workspace中存在,“jar”图标说明构件引用了Maven仓库。你可以双击这些条目,在POM编辑器中打对应的POM。这对模块,依赖,插件和其它对应于Maven构件的元素都是有效的。POM编辑器中一些部分中带下划线的字段代表了超链接,可以用来为对应的Maven构件打开POM编辑器。
在这个父POM中,我们看到了groupId
和version
的定义,它还提供了idiom-core
项目所没有很多信息。POM编辑器会给你看你能够编辑的POM内容,它不会给你看任何继承来的值。如果你想在POM编辑器中看idiom-core
项目的有效POM,你可以使用POM编辑器右上角工具栏的“Show
Effective
POM”图标,该图标的样子是蓝色M字母上面有一个左括弧与等于标记。它会在POM编辑器中为项目idiom-code
载入有效POM如Figure 14.29, “idiom-core的有效POM”。
这个有效POM归并了idiom-core
的POM和它祖先的POM(父,祖父,等等。),它其实就是使用了“mvn
help:effective-pom”命令为idiom-core
编辑器显示有效值。由于POM编辑器显示了很多不同POM归并而来的组合视图,因此这个有效POM编辑器是只读的,你不能更新这个有效POM视图中的任何字段。
如果你正在观察Figure 14.27, “idiom-core的POM编辑器的Overview标签页”中的idiom-core
项目的POM编辑器,你还能够使用编辑器右上角工具栏上的“Open
Parent POM”图标来导航至它的父项目的POM。
POM编辑器显示了很多来自POM的不同信息。最后一个标签页将pom.xml
显示为一个XML文档。在Figure 14.30, “POM编辑器的Dependencies标签页”中有一个依赖标签页,它暴露了而一个易用的接口以添加和编辑你项目的依赖,以及POM的dependencyManagement
部分。m2eclipse插件中的依赖管理屏幕也集成了构件搜索功能。你可以用搜索框来取得“Dependency
Details”部分的字段信息。
如果你想知道关于某个构件更多的信息,可以使用“Dependency Details”部分的工具栏的“Open Web Page”图标来查看项目的web页面。
Figure 14.31, “POM编辑器的Build标签页”所示的build标签页能让你访问build元素的内容。从这个标签你能够自定义源代码目录,添加扩展,改变默认目标名称,以及添加资源目录。
我们只是展示了POM编辑器功能的一个很小的子集。如果你对余下的标签页感兴趣,请下载并安装m2eclipse插件。