`
yinwufeng
  • 浏览: 276042 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Maven与idea的集成

阅读更多
Maven与IDE(eclipse,idea)的集成

前面我介绍了如何安装Maven到你的系统中去,下面我介绍一下如何把Maven与我们的IDE结合。 

Eclipse是目前最流行的JAVAJ2EE开发环境,因为他是开源的免费的,我们接下来首先会说下如何在Eclipse下使用Maven,另外一个商业的IDE,我认为在易用性和功能上都超过Eclipse的那就是Intellij IDEA,目前的版本是8.1,也是我这些年来一直推崇和使用的IDE,我也会在介绍如何在IDEA里面使用,而且相对而言是如此的方面和简单。 

Eclipse下使用Maven
Eclipse下使用Maven是通过叫做m2e的插件来实现的,在说如何使用之前,简单说一下m2e具有哪些特性:

  1. SCM签出项目
  2. 利用预定义Archetype创建项目
  3. 创建Maven模块
  4. 导入Maven项目
  5. m2eclipsePOM编辑器,可以不用手工编辑POM
  6. m2eclipse内置了对中央Maven仓库的搜索功能
  7. 依赖树功能,能够很方便的查看,jar包之间的依赖关系 

有了这些特性,你可以很容易的开始在Eclipse中开发你的Maven项目,没有繁琐的命令,根据向导一步步点击就行了。 

安装m2e 

在Eclipse中,从Help菜单选择 Software Updates。在Software Updates and Add-ons 对话框中,点击 Available Software 按钮,然后点击 Add Site 添加更新站点URL:http://m2eclipse.sonatype.org/update/ 。在你添加了该URL之后,你将能够为你的项目添加 Maven Integration, Maven Optional Components,和Maven Project Configurators。 

Maven archetype创建一个Maven项目 

Maven archetype是一个项目模板,Maven仓库包含了很多archetype,包含了从web应用程序到消息组件的几乎所有类型项目。有了m2eclipse,使用Maven archetype变得十分容易要使用Maven archetype创建一个Maven项目,选择File -> New -> Project… , 然后在过滤字段输入maven。选择新的Maven项目然后点击Next。下一个屏幕会提供一个界面让你选择新项目的Maven archetype

  

搜索依赖和构件

 

从 Maven仓库中快速搜索和定位依赖能极大的节省时间。有了m2eclipse,你不再需要为一个版本的构件去找遍中央仓库。如果你需要为Maven项目 添加一个构件,在项目上右击,然后选择Maven菜单下的Add Dependency。之后,你会看到如下图的对话框。简单的输入groupId和artifactId会让m2eclipse搜索一个Maven仓库的 Nexus索引,并显示匹配的构件。快速定位构件意味着你不再需要花无数的时间在Maven仓库中点来点去,寻找一个特定的依赖构件。

分析依赖树 

M2eclipse提供了一些有趣的功能让你分析并绘制项目依赖的图表。你可以通过点击项目的pom.xml来载入POM编辑器。如果打开了一个带有很多依赖的项目,你可以点击POM编辑器的Dependency Tree选项卡,然后看到依赖显示。

如果你想要以图的形式查看依赖,点击Dependency Graph选项卡查看项目依赖图。点击图中的一个节点会标亮该节点并强调项目依赖中该构件和其它构件的关系。 

 

Intellij IDEA使用Maven

 如果你嫌安装插件太麻烦,又或者你正在使用IDEA,那么恭喜你,在IDEA里面使用Maven是如此方便,因为它内置Maven的支持,这也是我以为什么喜欢IDEA的原因之一,因为在大多情况下的开发人员需求它都为你考虑到了,不需要你再去满世界找插件,又比如在eclipse里面集成应用服务器(jboss)你需要下载插件,好的插件是要收费的,比如myeclipse,当然IDEA也是收费的。IDEA却集成了大多流行的应用服务器的支持。废话不多说了,那我就一步步来说明一下如何在IDEA里面使用Maven

 

  1. 首先看一下Maven的插件界面和相关配置

在界面的右边有一个Maven的内置标签,如下图:

 

 

 

在这里你可以添加,删除Maven Module,并且可以进行项目的周期管理。

下面这个图是Maven的配置相关的:

 

 

在这里你可以配置,MavenHome目录,Local Repository等。

 

  1. 创建一个新的Maven Module

File->new project->create project from scratch 点击next,选择Maven module

 

 

 

点击下一步以后,你可以选择生成一个新的项目,或者根据预定义的一些项目,比如webapp,如果你想建立一个web项目那么就在create form archetype前面打勾,并且选择maven-archetype-webapp,还有很多预置的项目比如,EJB, spring等。

 

 

然后点击完成,IDEA就会帮你建立好一个空的web项目,并生成基本的pom文件,目录结构如下:

 

  1. 导入一个Maven Module

File->new project->import project from external model->maven

 

 

 

选择pom.xml所在的位置就可以了,后面IDEA就会根据pom文件把相关的jar包,以及依赖等自动下载并完成project,非常方便。

 

  1. MavenIDEA以及应用服务器集成DEBUG环境给我们带来前所未有高效

这里我又忍不住想说一下,IDEA对于集成DEBUG环境的友好支持。假如我们要调试一个web应用,需要在tomcat或者JBOSS环境下调试,如果使用eclipse会变得非常的复杂和繁琐,尽管也可以实现集成DEBUG环境,那么首先我们需要下载myeclipse插件,需要安装m2e插件,需要配置很多东西,而且至于mavenmyeclipse的兼容性我本人没有试过,调试起来是不是方便我也不得而知。但是使用IDEA这些问题可以说在刹那间完成,让我们一步步走进一键式DEBUG

  • 点击 edit configurations

 

 

 

  • 然后选择 tomcat server->local, 这里如果你是使用的JBOSS做为应用服务器,就选择JBOSS Server

 

 

 

  • 然后选择tomcat的版本,如果你还没有配置tomcatHome目录,这里可以进行配置

 

 

 

  • 然后在Befor lunch这里选择Make Run Maven goal > package,也就是说,我们在运行tomcat之前首先会通过Maven的生命周期的package打包

 

 

 

  • 此时IDEA会提示你 There are no facets to deploy,意思是说在DEBUG环境中你还没有发布你的应用,这里简单说一下facets,你可以认为facets是一种项目的类型,比如web工程,EJB工程,spring工程等。IDEA引入Facets的优势在于,任何工程都是java module,但是你可以为这个java module增加,修改,或者删除facets,让这个项目具有web工程,spring工程等特性,而不需要重新建立工程。好,继续,下面这个图是描述如何发布通过Maven打的包到DEBUG环境:

 

 

 

这里选择deployment,然后在deploy web facet web前面打勾,选择 Source. 注意,这里的deployment source是在你生成Maven工程以后自动生成的,方便吧。到此为止,我们就建立好了整个的集成DEBUG环境。
 
  • 那就让我们看下如果进行一键式DEBUG,关闭配置相,回到主界面,我们刚才配置的名为tomcat的应用服务器出现在了选择框里,我们选择它,然后点击右边第二个DEBUG按钮,我们可以看到,Maven开始工作了,正在为你工程打包,这个是自动的,不需要你引入任何的Jar包,因它会到仓库去自动获取,这里简单说一下仓库,默认Maven是到Maven的中央仓库去获取,要访问外网,如果从更高效和易管理的角度我们需要建立自己的仓库管理,这个我会在后面的文章(Maven仓库管理器)中详细描述。

 

 

 

到此为止,我们就可以享受一键式DEBUG给我们的便利了。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics