Maven还提供了“具体化”一个Maven项目的能力。具体化类似于从Subversion签出一个Maven项目的过程,但此时Subversion URL是从项目的根POM文件找到的,而不是手工的输入。如果一个POM文件有正确的元素来指定源代码仓库的位置,你就能仅仅通过这个POM文件来“具体化”Maven项目。使用这个特性,你可以浏览中央Maven仓库中的项目,然后将其具体化成Eclipse项目。如果你的项目依赖于一个第三方的开源库,而且你需要查看这个库的源码,具体化的特性就变得十分方便和实用。现在只需要实用m2eclipse魔术般的“具体化”特性将项目导入到Eclipse中,而不是去追查项目的web站点然后寻找如何将其从Subversion签出。
Figure 14.12, “Materializing a Maven Project” 展示了选择具体化Maven项目后的向导:
注意在这个对话框中Maven artifacts是空的。这是因为还没有添加项目。为了添加一个项目,你需要点击右边的Figure 14.13, “选择一个构件以具体化”展示了如何添加一个项目:
按钮然后选择一个来自中央Maven仓库的依赖以添加。当输入查询的时候,候选的依赖将会被在本地Maven仓库找到。花几秒钟对本地Maven仓库索引之后,候选依赖列表就会显示。选择一个要添加的依赖然后点击Figure 14.14, “具体化Apache Camel”。
,这样它们就会被添加到列表中如在添加一个依赖的时候,你有一个选项,让m2eclipse签出这个构件的所有项目。