MAVEN和IDE
转自:http://blog.csdn.net/arvinzhuo/article/details/4244061
?
Eclipse是目前最流行的JAVA,J2EE开发环境,因为他是开源的免费的,我们接下来首先会说下如何在Eclipse下使用Maven,另外一个商业的IDE,我认为在易用性和功能上都超过Eclipse的那就是Intellij IDEA,目前的版本是8.1,也是我这些年来一直推崇和使用的IDE,我也会在介绍如何在IDEA里面使用,而且相对而言是如此的方面和简单。?
在Eclipse下使用Maven
在Eclipse下使用Maven是通过叫做m2e的插件来实现的,在说如何使用之前,简单说一下m2e具有哪些特性:
?
?
在这里你可以添加,删除Maven Module,并且可以进行项目的周期管理。
下面这个图是Maven的配置相关的:
?
?
在这里你可以配置,Maven的Home目录,Local Repository等。
?
File->new project->create project from scratch 点击next,选择Maven module
?
?
?
点击下一步以后,你可以选择生成一个新的项目,或者根据预定义的一些项目,比如webapp,如果你想建立一个web项目那么就在create form archetype前面打勾,并且选择maven-archetype-webapp,还有很多预置的项目比如,EJB, spring等。
?
?
然后点击完成,IDEA就会帮你建立好一个空的web项目,并生成基本的pom文件,目录结构如下:
?
File->new project->import project from external model->maven
?
?
?
选择pom.xml所在的位置就可以了,后面IDEA就会根据pom文件把相关的jar包,以及依赖等自动下载并完成project,非常方便。
?
这里我又忍不住想说一下,IDEA对于集成DEBUG环境的友好支持。假如我们要调试一个web应用,需要在tomcat或者JBOSS环境下调试,如果使用eclipse会变得非常的复杂和繁琐,尽管也可以实现集成DEBUG环境,那么首先我们需要下载myeclipse插件,需要安装m2e插件,需要配置很多东西,而且至于maven于myeclipse的兼容性我本人没有试过,调试起来是不是方便我也不得而知。但是使用IDEA这些问题可以说在刹那间完成,让我们一步步走进一键式DEBUG:
点击 edit configurations?
??
然后选择 tomcat server->local, 这里如果你是使用的JBOSS做为应用服务器,就选择JBOSS Server?
??
然后选择tomcat的版本,如果你还没有配置tomcat的Home目录,这里可以进行配置?
??
然后在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给我们的便利了。
?
?小结这一章节我们介绍了Maven如何在两个比较主流的IDE中集成,相比而言 eclipse的m2e插件具有更多的功能,比如,集成了查看依赖树,搜索构件,相对而言IDEA本身就支持Maven,使用简单,除了有些附加功能没有 m2e做的好之外,在IDEA中使用具有它独特的优势,可以适应在复杂环境下一键式DEBUG。