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

m2e:为Eclipse引入Maven(下)

阅读更多

译自:http://www.sonatype.com/about/press/20090122-JDJm2eBringingMavenToEclipse

Maven Eclipse 所短,反之亦然

by Jason Van Zyl

 

M2e起步

不要轻易相信我的话;根据我们创建的软件来判断m2e项目。虽然为了让Maven和Eclipse项目完美结合,还有一些集成工作要做,但该项目已经发布了十分强大的Eclipse插件。下面的小节,我会仔细介绍一些m2e项目有趣的变革性的特性。


安装m2e

要安装m2e,打开Eclipse 3.4(Ganymede)。如果你还没有下载和安装Eclipse,你可以从http://www.eclipse.org 获得 Eclipse 3.4 。在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。如果你计划在m2eclipse插件中使用Subclipse,Mylyn,以及AspectJ集成,你也需要安装这些插件。关于安装m2eclipse的完整的指令,见Maven权威指南的m2eclipse章节 。下载和安装m2eclipse需要花一段时间,一旦安装过程完成,Eclipse会建议你重启IDE。

一旦安装过程结束,你将能够点击浏览m2eclipse。下面的小节,我会介绍一些m2eclipse插件中十分有趣的功能。


从Maven骨架创建一个Maven项目

Maven骨架是一个类新项目的模板,Maven仓库包含了很多骨架,包含了从web应用程序到消息组件的几乎所有类型项目。有了m2eclipse,使用Maven骨架变得十分容易,只要填写一个简单的New Maven Project对话框,然后从中央仓库的骨架列表中选择一个骨架。如果有人向Maven仓库发布了一个Maven骨架,m2eclipse会在请求仓库索引的时候发现这个骨架。要使用Maven骨架创建一个Maven项目(见下图),选择File -> New -> Project… , 然后在过滤字段输入maven。选择新的Maven项目然后点击Next。下一个屏幕会提供一个界面让你选择新项目的Maven骨架。该列表包含了很多M2eclipse自带的Maven骨架。



这个列表是由叫做Nexus Indexer的东西生成的。Nexus Indexer是一个包含了整个Maven仓库索引的文件。它由Nexus仓库管理器 生成。


从POM具体化一个Maven项目

M2eclipse也能让你“具体化”一个Maven项目。具体化和从Subversion签出一个Maven项目的过程类似,但现在不再是手工的输入项目Subversion仓库的URL,该URL现在从项目跟POM文件中发现。如果一个POM文件包含了正确的元素声明了源码仓库的位置,你可以使用该功能从仅仅一个POM文件“具体化”项目。使用该特征,你可以浏览Maven仓库中的项目,然后将其具体化到Eclipse项目中。如果你的项目依赖于第三方的开源类库,并且你需要接触其源码,该功能就十分方便。你不再需要寻找其web站点,寻找去哪里签出源码,只要简单的使用m2eclipse来“具体化”这个项目。


搜索依赖和构件

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


分析依赖树

M2eclipse提供了一些有趣的功能让你分析并绘制项目依赖的图表。你可以通过点击项目的pom.xml来载入POM编辑器。如果m2eclipse正确安装了,你会看到POM编辑器,而非POM XML。如果打开了一个带有很多依赖的项目,你可以点击POM编辑器的Dependency Tree选项卡,然后看到依赖以两列的形式显示,如下图。面板左边显示了一个依赖树。树的第一层包含了项目所有的直接依赖,每下一层列出了依赖的依赖。左边的部分能让你很轻松的弄明白一个特定的依赖是如何进入你项目的已解析依赖中的。右边的面板显示了已解析依赖。这是在所有冲突和范围都应用后的有效依赖列表,也是你项目用来编译,测试,和打包的有效依赖列表。



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


使用Maven构建Eclipse:Tycho

如Eclipse的PDE,Tycho构建插件和更新站点供Eclipse平台使用。Tycho可以使用pom.xml或者Eclipse的本地元数据文件如manifest.mf和feature.xml来构建Eclipse插件。Maven的一个长期努力是基于不同种类的项目元数据构建项目,Tycho是其中的一部分。在本文撰写的时候,Tycho正被一些组织和开源项目(包括m2eclipse)用来构建Eclipse插件。Tycho是Eclipse开发者使用Maven自动化Eclipse插件构建的最直接的方式。共享字节码的故事在Eclipse的世界中变得模糊。有Eclipse发布包,更新站点,P2仓库,动态条款(dynamic provisioning),OSGi仓库的不同提议,甚至一些Eclipse包被签入到Maven仓库中。Sonatype致力于帮助Eclipse社区创建开放的,可互操作的仓库和元数据,这将有益于所有用户,Tycho是让Maven和Eclipse互操作的第一步。


结论

接触新的代码是困难的工作:你需要找到它并弄明白如何与之工作。Nexus索引使寻找构件变得容易,POM让理解项目变得容易,m2eclipse使得在Eclipse中使用Maven变得简单。我相信Eclipse世界会从Maven学到一些技巧,并开始使用Maven元数据和插件。对于那些编写开发工具的人,我相信一个Maven mojo是编写一个工具所需要的最少的工作量,它不仅能在命令行运行,同样能在Eclipse中运行。我同样相信Eclipse插件可以使用Maven POM信息和依赖管理功能来实现其自身的目的。我对这份工作充满期望,并邀请所有人加入并享受结果。请访问http://eclipse.org/m2e


资源

分享到:
评论
5 楼 peacherdiy 2012-12-19  
kingxip 写道
如果不用 m2eclipse,仅仅是通过mvn eclipse:eclipse生成工程文件,然后倒入eclipse,这种情况下如何实现比如更新depedencies的功能呢?


我也没有找到解决方案,换一种方法,不用 mvn eclipse:eclipse ,用装了m2插件的eclipse maven工程向导建立工程,然后把 程序骨架靠过去,仅仅拷贝文件,不要拷贝和eclipse的文件,尤其是 .classpath .project等
4 楼 eric_hwp 2011-12-15  
3 楼 wzglovejava 2010-12-08  
为什么我的eclipse在引入maven的时候,总是报错,错误信息是:Network connection problems encountered during search然后我打开那个http://m2eclipse.sonatype.org/update/连接发现此连接不存在,并且还报一个:
No features found on the selected sit(s).Choose a different site or site category.的错误。我的是eclipse3.2的版本。。
2 楼 juvenshun 2009-12-05  
kingxip 写道
如果不用 m2eclipse,仅仅是通过mvn eclipse:eclipse生成工程文件,然后倒入eclipse,这种情况下如何实现比如更新depedencies的功能呢?

mvn eclipse:clean eclipse:eclipse
1 楼 kingxip 2009-12-05  
如果不用 m2eclipse,仅仅是通过mvn eclipse:eclipse生成工程文件,然后倒入eclipse,这种情况下如何实现比如更新depedencies的功能呢?

相关推荐

    m2e 适合 eclipse3.X jdk1.6 (maven2eclipse)

    m2e(Maven Integration for Eclipse)是Eclipse集成开发环境中的一个插件,用于支持Maven构建系统。它为Eclipse提供了对Maven项目无缝集成的能力,使得开发者在Eclipse环境中可以方便地创建、管理和构建基于Maven的...

    eclipse的maven插件

    Eclipse的Maven插件,通常称为M2E(Maven Integration for Eclipse),是Eclipse IDE的一个扩展,它将Maven的功能集成到Eclipse中,让开发者可以在熟悉的IDE环境下享受Maven的便利。 **M2E插件的主要特性:** 1. *...

    m2e —— maven to eclipse plugin 1.5 最新离线安装版

    M2E,全称为m2eclipse,是Eclipse IDE中一个非常重要的插件,它为Eclipse提供了对Apache Maven项目的集成支持。Maven是一个强大的项目管理和构建工具,广泛应用于Java开发领域,它通过定义项目对象模型(POM)来管理...

    maven_eclipse_GEF-zest-3.7.1_m2e-extras_m2e.zip

    总结来说,"maven_eclipse_GEF-zest-3.7.1_m2e-extras_m2e.zip"这个压缩包集合了Maven、Eclipse、GEF-Zest和m2e-extras的关键组件,旨在提供一个完整的、集成了图形化开发和Maven构建的开发环境。通过这个集成,...

    Eclipse中Maven插件

    1. **安装Maven插件**:打开Eclipse,选择“Help” > “Eclipse Marketplace”,在搜索框输入“maven”找到M2E插件,点击“Install”按照提示完成安装。如果无法访问Marketplace,也可以通过“Help” > “Install ...

    m2e-apt-poc:使用与 Eclipse 集成的 Maven 进行注释处理的概念证明

    在默认情况下,Eclipse的Maven支持(m2e)不自动处理注解处理器生成的源代码,而m2e-apt解决了这个问题,使得开发者可以在Eclipse中实时看到由注解处理器产生的结果。 **三、m2e-apt-poc项目的结构** m2e-apt-poc...

    maven3.1、maven3.2安装包、源码及eclipse整合插件

    Eclipse作为一款流行的Java IDE,提供了与Maven集成的插件,名为M2E (Maven Integration for Eclipse)。该插件使得开发者在Eclipse中可以直接管理Maven项目,包括构建、编译、测试、打包等。安装M2E插件后,Eclipse...

    maven插件+eclipse

    Eclipse有一个名为"M2E"(Maven Integration for Eclipse)的插件,它使Eclipse具备了对Maven的全面支持。安装M2E插件后,开发者可以直接在Eclipse中创建、导入和管理Maven项目,无需离开IDE。M2E会自动下载项目所需...

    eclipse4.5 mars 64位 自带Maven插件

    Eclipse Mars集成了Maven插件,即M2E (Maven Integration for Eclipse),使得开发者无需离开Eclipse环境就能方便地进行Maven相关的操作,如构建项目、管理依赖、运行测试等。 集成Maven插件后,Eclipse Mars允许...

    eclipse 下的maven插件

    Eclipse的Maven插件称为M2E(Maven Integration for Eclipse),它允许用户在Eclipse环境中直接进行Maven操作,如创建Maven项目、管理依赖、执行构建目标等。通过M2E,开发者可以享受到Eclipse的便捷与Maven的强大...

    eclipse maven 插件

    Eclipse Maven插件,也称为M2E(Maven Integration for Eclipse),是由Sonatype公司开发并维护的,目的是将Maven的构建生命周期和依赖管理引入到Eclipse IDE中。这使得开发者可以在Eclipse内直接创建、构建、运行...

    使用eclipse构建maven的web项目

    1. **安装Maven插件**:确保你的Eclipse已经安装了Maven集成插件M2E(Maven Integration for Eclipse)。如果没有,可以通过Eclipse Marketplace进行安装。 2. **配置Maven**:在Eclipse的“Window”菜单中选择...

    maven插件---m2eclipse的使用

    - 使用 m2e,开发者可以在 Eclipse 中直接创建 Maven 项目,选择 `New` -> `Other` -> `Maven` -> `Maven Project`。 - 之后,按照向导设置项目的基本信息,包括 Group ID, Artifact ID, Packaging(如 JAR 或 WAR...

    m2eclipse1.4

    这个插件是M2E(Maven Integration for Eclipse)的一个版本,专为Eclipse Juno发布版设计和优化。Juno是Eclipse IDE的4.2版本,发布于2012年,引入了许多新特性并提升了性能。 Maven是一个强大的项目管理和构建...

    m2e-1.4-with-indigo

    总的来说,"m2e-1.4-with-indigo"离线包是专为Eclipse Indigo用户设计的,旨在简化Maven项目在Eclipse环境下的管理。通过安装这个包,开发者无需在线下载即可在Eclipse Indigo中享受到Maven的便利,包括自动管理依赖...

    maven安装及使用手册

    1. 安装Maven插件:在Eclipse中,通过`Help > Install New Software`,添加Maven插件(如M2E)并进行安装。 2. 配置Maven:在Eclipse的`Window > Preferences > Maven`中设置Maven的配置,如本地仓库路径和阿里云...

    Maven实战.docx

    <groupId>org.eclipse.m2e <artifactId>lifecycle-mapping <version>1.0.0 <groupId>org.apache.maven.plugins <artifactId>maven-dependency-plugin [2.0,) <goal>copy-dependencies ...

    maven安装及使用指南

    **二、Eclipse中在线安装Maven插件(m2e)** 1. **启动插件安装**:在Eclipse中,选择`Help -> Install New Software…`。 2. **输入更新源**:在输入框中输入...

Global site tag (gtag.js) - Google Analytics