当项目在Eclipse中的时候,m2eclipse插件为使用Maven提供了一组特性。有很多特性使得在Eclipse中使用Maven变得十分容易,让我们仔细看一下。在前一节,我们具体了一个Maven项目并且选择了一个来自于Apache Camel的名为camel-core的子项目。我们将使用这个项目来演示这些特性。
通过在camel-core项目上右击,然后选择Maven菜单项,你能看到可用的Maven特性。Figure 14.17, “可用的Maven特性”展示了这些特性的一个快照。
注意在Figure 14.17, “可用的Maven特性”中camel-core项目可用的特性包括:
-
添加依赖和插件
-
更新依赖,快照和源代码文件夹
-
创建一个Maven模块
-
下载源代码
-
打开项目的URL如项目Web页面,问题追踪系统,源码控制,和持续集成工具
-
开启/关闭工作台解析器,嵌套Maven模块和依赖管理
这些特性都能帮你节省很多时间,让我们先简单的看一下。
让我们假设我们想要给camel-core
POM添加一个依赖或者一个插件。为了示范,我们会添加commons-lang
作为一个依赖。(请注意添加依赖或者插件的功能完全一样,因此我们就用添加一个依赖作为示范。)
m2eclipse为给一个项目添加依赖提供了两种选项。第一种选项是通过手动的编辑POM文件的XML内容来添加一个依赖。这种手动编辑POM文件方式的缺点是你必须知道构件的信息,或者,你可以使用下一节讨论的特性来手工的定位仓库索引中的构件信息。好处是在你手工添加依赖并保存POM文件之后,项目的Maven依赖容器会自动更新以包含这个新的依赖。Figure 14.18, “手动给项目的POM添加一个依赖”展示了如何给camel-console
POM
添加对commons-lang
的依赖,然后Maven依赖容器自动更新并包含了这个依赖。
手动添加依赖效果不错但是它比第二种方式需要更多的工作。在手动给POM添加依赖元素的时候,Eclipse工作台右下角的进程反映了这一动作,如Figure 14.19, “更新Maven依赖”:
第二种添加依赖的方式容易得多,因为你不需要知道构件的除groupId
以外的信息。Figure 14.20, “搜索依赖”展示了这种功能:
通过简单的在搜索框中输入信息,m2eclipse会查询仓库索引,显式在本地Maven仓库中构件的版本。这种方式更好因为它能节省大量的时间。有了m2eclipse,你不再需要中央Maven仓库中搜寻一个构件版本。