14.13. Maven 选项

对于使用Maven开发来说,调整Maven首选项和一些Maven参数是非常重要的,m2eclipse能让你通过Eclipse中的Maven首选项页面来调整一些选项。典型情况下当在命令行使用Maven的时候,这些首选项是可以在目录~/.m2或者命令行选项中设置的。m2eclipse能让你在Eclipse IDE中访问一些最重要的选项。Figure 14.36, “Eclipse的Maven首选项”展示了在Eclipse中的Maven首选项页面:

Eclipse的Maven首选项

Figure 14.36. Eclipse的Maven首选项


顶部的复选框提供的功能有:

  • 在离线的状态下运行Maven,关闭从远程仓库进行下载的功能。

  • 在Maven控制台中开启调试输出

  • 从远程Maven仓库下载构件的源码jar文件

  • 从远程Maven仓库下载构件的JavaDoc Jar文件

  • 在启动的时候下载并更新本地的对远程仓库的索引

下一部分提供了一个弹出式菜单,让你选择当项目被引入以及项目的源码文件夹被更新的时候执行什么Maven目标。默认的目标名为process-resources,它会拷贝并处理项目的资源文件至目标目录,以让项目可以随时打包。如果你需要运行一些自定义的目标以处理资源文件或者生成一些支持性配置,那么定制这个目标列表就非常有用。

如果你需要m2eclipse帮你选择一个目标,点击按钮Select...,会看到“Goals”对话框。左边的Figure 14.37, “Maven目标对话框”对话框展示了默认Maven生命周期中所有阶段列表的一个目标对话框。

Maven目标对话框

Figure 14.37. Maven目标对话框


当你第一次看到这个目标对话框的时候,你可能会被它罗列的这么多目标所吓到。事实上,确实有数百个Maven插件做各种各样的事情,从生成数据库,到执行集成测试,到运行静态分析,到使用XFire生成web service。目标对话框中,带有可选的目标的插件有超过200个,右边的对话框Figure 14.37, “Maven目标对话框”展示了一个Tomcat Maven插件的目标被标亮的“Goals”对话框。你可以通过在搜索框内输入文字来缩小可用目标的数量,当你输入文字的时候,m2eclipse会收缩可用目标的列表,当然,这些目标包含了搜索框内的关键字。

另外一个Maven选项页面是Maven安装配置页面如Figure 14.38, “Maven安装选项页面”

Maven安装选项页面

Figure 14.38. Maven安装选项页面


这个页面能让你往Eclipse环境中添加其它的Maven安装。如果你想要让m2eclipse插件使用一个不同版本的Maven,你可以在这个页面配置多个Maven安装,这非常类似于在Eclipse中配置多个可运行的Java虚拟机。一个被称为Maven嵌入器的Maven的嵌入版本已经被指定了。这就是我们在Eclipse中运行Maven的版本。如果你有另外一个Maven安装,而且你想要用它来运行Maven而不是Maven嵌入器,你可以实时的通过点击Add..来添加另外的Maven。Figure 14.38, “Maven安装选项页面”展示了一个列出Maven嵌入器,Maven 2.0.9,和Maven 2.1-SNAPSHOT的配置页面。

安装配置页面也允许你指定全局Maven settings文件的位置。如果你不在这个页面指定该文件的位置,Maven会使用位于所选Maven安装目录的conf/settings.xml作为默认全局配置文件。你也可以自定义用户settings文件的位置,默认它位于~/.m2/settings.xml,你还可以自定义你的本地Maven仓库位置,其默认值是~/.m2/repository

Eclipse选项中还能开启一个装饰器,它的名字是Maven版本装饰器。这个选项可以让你在Eclipse包浏览器中看到项目的当前版本,如Figure 14.39, “开启Maven版本装饰器”

开启Maven版本装饰器

Figure 14.39. 开启Maven版本装饰器


要开启这个选项,只要选中Maven版本修饰器选项,如在Figure 14.39, “开启Maven版本装饰器”中标亮的。如果Maven版本修饰器没有开启,项目只会在包浏览器中列出它的名称和相对路径,如Figure 14.40, “没有Maven版本装饰器的包浏览器”

没有Maven版本装饰器的包浏览器

Figure 14.40. 没有Maven版本装饰器的包浏览器


开启了Maven版本装饰器之后,项目的名称将会包括当前的项目版本,如Figure 14.41, “开启了Maven版本装饰器的包浏览器”

开启了Maven版本装饰器的包浏览器

Figure 14.41. 开启了Maven版本装饰器的包浏览器


这个特性十分有用,你能很方便的看到项目的版本而不再需要打开POM去找version元素。