详解Maven4MyEclipse

1. MyEclipse中的Maven集成

本篇概述为您介绍一下Maven的基本概念,以及如何在MyEclipse(Maven4MyEclipse)中使用Maven来提高Maven UI的工作经验。Maven4MyEclipse无论是对于新手还是经验丰富的开发者都同样有用,因为它使最经常使用的Maven任务变得更容易。

Maven4MyEclipse是Maven和MyEclipse IDE之间进一步的整合。这种整合消除了一些Maven用户最常见的障碍,包括:

  • 从MyEclipse类路径容器的后台安装Sun JARs到您的本地Maven仓库中
  • 运行时的JDK简单配置和编译时的Maven
  • 简单安装自己的JAR到Maven仓库中

通过消除这些进入门槛,您可以简单的在MyEclipse的项目中使用Maven了,没有额外的麻烦或设置来与之抗衡了。

2. 什么是Maven?

在最简单的意义上说,Maven是一个基于项目建设功能的核心声誉的项目管理工具。许多人认为Maven只是一个构建的工具,但其基于插件的性质(不同于Eclipse)允许它充当端对端的项目管理工具,提供一个几乎无限数组的功能。这些插件的可变性导致了一些围绕"什么是Maven?"的问题。

Maven的核心设计是建立在依赖管理和单一的JAR库基础之上的。您项目的需求连同其它其它构建需求一起被定义。Maven遵循严格的JAR标准版本;在Maven当中典型的myproject.jar约定不通过审核。它必须是myproject-1.3.7.jar,最坏也是myproject-SNAPSHOT.jar。Maven从(public or private)的仓库中更新这些库,每个被您拉入到本地Maven仓库的都会被作为构建被执行。JARs被更新时严格遵循规则,管理可以声明这些规则可作为该项目元数据(pom.xml)的一部分。

Maven项目被定义为约定优先于配置。换句话说,您除了不同之外不用定义一个Maven的pom.xml(项目定义文件)中的任何东西,或者直接附加到一个标准的Maven项目上。因此,每个项目运行的核心阶段是相同的,其中包括很多目标。甚至当一个Maven目标运行时额外自定义的插件通常被放置在这些相同的阶段当中。

注意:您可以从maven.apache.org中了解有关于Maven Lifecycle的更多信息。

如果您是一个Ant用户,写核心构建脚本对于您来说可能是Maven最难的部分。对于那些已经做了五年的企业开发人员来说这可能是非常令人费解的,特别是像Ant,您仍然可以根据自身的需求来自定义Maven。您甚至可以轻松地定制它,用电话直接进入Ant。

3. 在MyEclipse项目中使用Maven

Maven4MyEclipse的前提是,首先最重要的是,这是一个MyEclipse项目。这就意味着,它应该像前面其他任何MyEclipse项目一样,有或者没有Maven。所有的设置窗口、工具和一般可操作的项目应该是和其他一样的。因此,如果您从来没有遇到过一个单一的Maven目标,您的项目仍然以同样的方式工作。同样的,您的MyEclipse工具不会受Maven或它目标运行的任何影响。

Maven4MyEclipse使用两种主要的方法来使普通的Maven任务变得更加容易。

  • 在pom.xml中使用向导更轻松地定义数据,或Maven项目的元数据。
  • 提供了标准和易于定制的菜单来启动您每天使用的Maven目标。

Maven4MyEclipse在源代码方面创建符合传统的MyEclipse项目结构。这使得您可以以同样的方式来编写您项目的代码,直到MyEclipse项目完成。类路径容器和编译的二进制文件都被构造为Maven约定,因此MyEclipse用户首次迁移到Maven能两全其美。

3.1 支持Maven的项目

Maven4MyEclipse使Maven支持MyEclipse Web项目、MyEclipse EJB项目、MyEclipse EAR项目和常规的Java项目。

Maven4MyEclipse创建Maven-enabled MyEclipse项目来同Maven和MyEclipse的工具同时进行工作。Maven-enabled MyEclipse项目同MyEclipse项目一样能正常运行,同时提供任何典型MyEclipse项目所提供的所有相同的工具:视图、编辑器、部署和调试。你所需要的工具都没有改变,所不同的是给您提供了不同的附加工具。

Maven-enabled MyEclipse项目的功能就像MyEclipse项目和Maven项目一样;允许您使用MyEclipse IDE运行针对于他们的任何Maven目标、管理依赖关系等等。

导入Maven项目同时与基于包含在pom.xml文件中的信息的相应元数据进行自动配置,使它们能立即部署和使用而无需额外配置。

3.2 Java EE配置器

MyEclipse自动检测基于pom.xml或特定文件的Maven项目,这使得导入的Maven项目能立即使用。如果您修改pom.xml或添加新的配置文件,它还会在稍后一段时间自动检测。但您要停用特定的方面配置程序来避免不必要的安装。

在全球范围内的每个工作区,配置器可以通过选择Window>Preferences,展开MyEclipse>Maven4MyEclipse>JavaEE Integration来被禁用。选择您想要被激活的Java EE配置器,默认情况下所有的配置器会被激活。

激活配置器

要关闭一个项目的Maven facet配置器,必须在pom.xml中包含相应的属性。例如,您不希望有自动安装的JSF facet,打开pom.xml,然后创建属性,如下图所示:

配置停用属性

用于支持facets的属性名称是:

  • JSF – m2e.jsf.activation
  • JAX-RS – m2e.jaxrs.activation
  • JPA – m2e.jpa.activation
  • Struts 1 & 2 – m2e.struts.activation
  • Spring – m2e.spring.activation
  • Hibernate – m2e.hibernate.activation

4. Maven4MyEclipse的兼容性与命令行的Maven

Maven4MyEclipse和Maven-enabled MyEclipse项目与命令行Maven完美共存。

注意:如与任何外部产生假象,建议您在运行类似于Maven或Ant的进程后刷新您的项目。

Maven4MyEclipse设计使命令行的Maven在大多数情况下是不必要,同时允许您停留在IDE中并可以从UI中执行所有的Maven任务。

5. Maven警示提醒

MyEclipse团队将加入Maven工具设置来使开发人员能够更轻松和有效的生成一个重要的步骤。这似乎非常奇怪,因为Maven阻扰用户也是久负盛名的。我们已经移除了通常在最初几个小时困扰Maven用户的障碍。

  • 轻松地安装第一个Maven JAR
  • 确保您的项目与没有调用单个Maven目标的MyEclipse工具一起完美地工作
  • 为大多数知名的Maven难题初始提供了参考和提示

作为一名开发者,强烈建议您处理Maven时就像处理任何新的和复杂的技术一样。更具体地说,Maven有时可能会有一些粗糙的边缘,所以如果您打算推出Maven超出工作空间到企业层面,那么应该预算一些时间来处理这些问题。

Maven粗糙边缘不无根据,这是一个更加强大的工具集。有些可以通过在服务器级添加几个存储工具来处理。许多插件也可用于成熟期的不同阶段,任何一个插件都可以消极地影响整个生命周期的构建,例如当一个插件从公共库中丢失时。

6. FAQ

我使用Maven4MyEclipse一定要熟悉Maven吗?

不是,但我们建议您阅读第二小节,熟悉什么是Maven可以使您明白Maven4MyEclipse中Maven功能的意义。

MyEclipse官方中文网上线,欢迎下载交流!

时间: 2024-11-07 09:04:47

详解Maven4MyEclipse的相关文章

Spring事务管理(详解+实例)

写这篇博客之前我首先读了<Spring in action>,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下: Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解 1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱. 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必须是要么都执行要么都

转载:DenseNet算法详解

原文连接:http://blog.csdn.net/u014380165/article/details/75142664 参考连接:http://blog.csdn.net/u012938704/article/details/53468483 本文这里仅当学习笔记使用,具体细节建议前往原文细度. 论文:Densely Connected Convolutional Networks 论文链接:https://arxiv.org/pdf/1608.06993.pdf 代码的github链接:h

MariaDB(MySQL)创建、删除、选择及数据类型使用详解

一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB. MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL A

HttpServletResponse和HttpServletRequest详解

HttpServletResponse,HttpServletRequest详解 1.相关的接口 HttpServletRequest HttpServletRequest接口最常用的方法就是获得请求中的参数,这些参数一般是客户端表单中的数据.同时,HttpServletRequest接口可以获取由客户端传送的名称,也可以获取产生请求并且接收请求的服务器端主机名及IP地址,还可以获取客户端正在使用的通信协议等信息.下表是接口HttpServletRequest的常用方法. 说明:HttpServ

POSIX 线程详解(经典必看)

总共三部分: 第一部分:POSIX 线程详解                                   Daniel Robbins ([email protected]), 总裁/CEO, Gentoo Technologies, Inc.  2000 年 7 月 01 日 第二部分:通用线程:POSIX 线程详解,第 2部分       Daniel Robbins ([email protected]), 总裁/CEO, Gentoo Technologies, Inc.  20

.NET深入解析LINQ框架(五:IQueryable、IQueryProvider接口详解)

阅读目录: 1.环路执行对象模型.碎片化执行模型(假递归式调用) 2.N层对象执行模型(纵横向对比链式扩展方法) 3.LINQ查询表达式和链式查询方法其实都是空壳子 4.详细的对象结构图(对象的执行原理) 5.IQueryable<T>与IQueryProvider一对一的关系能否改成一对多的关系 6.完整的自定义查询 1]. 环路执行对象模型.碎片化执行模型(假递归式调用) 这个主题扯的可能有点远,但是它关系着整个LINQ框架的设计结构,至少在我还没有搞懂LINQ的本意之前,在我脑海里一直频

netstat状态详解

一.生产服务器netstat tcp连接状态................................................................................ 2 1.1生产服务器某个业务LVS负载均衡上连接状态数量............................................... 2 1.2生产服务器某个业务web上连接状态数量...............................................

详解go语言的array和slice 【二】

上一篇  详解go语言的array和slice [一]已经讲解过,array和slice的一些基本用法,使用array和slice时需要注意的地方,特别是slice需要注意的地方比较多.上一篇的最后讲解到创建新的slice时使用第三个索引来限制slice的容量,在操作新slice时,如果新slice的容量大于长度时,添加新元素依然后使源的相应元素改变.这一篇里我会讲解到如何避免这些问题,以及迭代.和做为方法参数方面的知识点. slice的长度和容量设置为同一个值 如果在创建新的slice时我们把

13.Linux键盘按键驱动 (详解)

版权声明:本文为博主原创文章,未经博主允许不得转载. 在上一节分析输入子系统内的intput_handler软件处理部分后,接下来我们开始写input_dev驱动 本节目标: 实现键盘驱动,让开发板的4个按键代表键盘中的L.S.空格键.回车键 1.先来介绍以下几个结构体使用和函数,下面代码中会用到 1)input_dev驱动设备结构体中常用成员如下: struct input_dev { void *private; const char *name; //设备名字 const char *ph