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


资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园的建设目标是通过数据整合、全面共享,实现校园内教学、科研、管理、服务流程的数字化、信息化、智能化和多媒体化,以提高资源利用率和管理效率,确保校园安全。 智慧校园的建设思路包括构建统一支撑平台、建立完善管理体系、大数据辅助决策和建设校园智慧环境。通过云架构的数据中心与智慧的学习、办公环境,实现日常教学活动、资源建设情况、学业水平情况的全面统计和分析,为决策提供辅助。此外,智慧校园还涵盖了多媒体教学、智慧录播、电子图书馆、VR教室等多种教学模式,以及校园网络、智慧班牌、校园广播等教务管理功能,旨在提升教学品质和管理水平。 智慧校园的详细方案设计进一步细化了教学、教务、安防和运维等多个方面的应用。例如,在智慧教学领域,通过多媒体教学、智慧录播、电子图书馆等技术,实现教学资源的共享和教学模式的创新。在智慧教务方面,校园网络、考场监控、智慧班牌等系统为校园管理提供了便捷和高效。智慧安防系统包括视频监控、一键报警、阳光厨房等,确保校园安全。智慧运维则通过综合管理平台、设备管理、能效管理和资产管理,实现校园设施的智能化管理。 智慧校园的优势和价值体现在个性化互动的智慧教学、协同高效的校园管理、无处不在的校园学习、全面感知的校园环境和轻松便捷的校园生活等方面。通过智慧校园的建设,可以促进教育资源的均衡化,提高教育质量和管理效率,同时保障校园安全和提升师生的学习体验。 总之,智慧校园解决方案通过整合现代信息技术,如云计算、大数据、物联网和人工智能,为教育行业带来了革命性的变革。它不仅提高了教育的质量和效率,还为师生创造了一个更加安全、便捷和富有智慧的学习与生活环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值