Maven for Eclipse 第一章 ——Maven的介绍

  最近深陷与一个无比垃圾的项目无法自拔,好久没有更新文章了。今天简单介绍一下 Maven 在 Eclipse 中的使用。文章的内容几乎出于《Maven for Eclipse》一书,此书言简意赅,实用性很强。

  首先,Maven 是一个软件项目管理和程序理解的工具,一般来说,软件项目管理包括规划,组织,管理资源池,形成资源评估等。简单来说,Maven是一个全面的方法对应用模式的过程构建基础设施,它主要有如下目标:

  • 简化程序的构建流程
  • 提供统一的构建系统
  • 提供质量项目信息
  • 提供了项目最佳实战的指导
  • 提供了透明的方式迁移新特性

  为了实现上述目标,Maven提供了一组构建标准,工件库模型,一个引擎,描述项目,和一个标准的生命周期构建、测试,和部署项目工件。

  1.Maven 的原则

    Maven 的原则主要有以下几点:

    • 约定大于配置。Maven定义了默认的项目结构和构建一个开发生命周期用来减轻开发负担。通过指定一个公开定义的模型,使项目便于理解。
    • 声明式执行。Maven定义了一个项目构建的生命周期,包括一系列的阶段,这些阶段由plugin goal 组成。plugin goal可以包括声明pom文件来定制一个项目的执行。
    • 重用性。Maven建立与可重用性。建立和执行声明在一个项目中可以使用不同的项目。Maven也很容易创建一个组建并整合到多个项目中。
    • 清晰的依赖关系。Maven负责依赖管理,从而减少开发人员的负担。不同的冲突处理依赖关系处理得不错。
    • 关注程序开发。标准的项目布局和构建生命周期,不需要开发构建;主要应该集中在项目的构建。

  2.Maven 的组建架构

    Maven 由下面几个不同的组建构建而成:

        2.1 Plexus 容器

          Plexus 是一个 ICO 容器,提供了面向组件变成的方式去构建模块,重用的组建可以很容易地用来组装何重用。它支持如下的一些特性。

        • 组件生命周期
        • 组建一致性策略  
        • 嵌套的容器
        • 组件配置
        • 自动织入
        • 组件依赖
        • 许多依赖注入技术,包括构造方法注入,setter 方法注入,私有属性 注入。  

          更多信息请访问:http://plexus.codehaus.org/.

        2.2 Wagon

          Maven Wagon 是一个传输的抽象用在 Maven artifact 和 仓库处理的代码中。Wagon 定义了统一的API,当前有如下供应者。

        • File
        • HTTP
        • HTTP lightweight
        • FTP
        • SSH/SCP
        • WebDAV

          更多信息请访问:https://maven.apache.org/wagon/.

        2.3 Maven Doxia

          Doxia是内容生成框架,为用户提供了强大的技术来生成静态内容和动态内容。Doxia还用于基于web的发布上下文环境生成静态网站,还可以合并到动态内容生成系统,如博客、wiki和内容管理系统.

          更多信息请访问:https://maven.apache.org/doxia/.

        2.4 Modello

          Maodllo 组件在 Maven 中用来生成不同类型的 artifact 在构建时根据数模模型的引用。

        • 数据模型的 Java POJO类型
        • Java POJO 转换成 XML
        • XML 转换成 Java POJO
        • 数据模型的 XDOC 文档
        • XML schema 验证 XML 内容是否匹配数据模型

          更多内容请访问:http://maven.apache.org/maven-1.x/plugins/modello/.

       2.5 Maven SCM

        这个组件提供了常用的 API 来执行源代码管理操作,以下类型是被 SCM 所支持的。

        • Bazaar
        • CVS
        • Git
        • Jazz
        • Mercurial
        • Perforce
        • StarTeam
        • Subversion
        • CM energy

        更多信息请访问:http://maven.apache.org/scm/.

时间: 2024-12-06 14:18:04

Maven for Eclipse 第一章 ——Maven的介绍的相关文章

第一章 Maven简介

为什么使用Maven? IDE?Eclipse? ? 手工操作较多,编译.测试.部署等工作都是独立的,很难一步完成 ? 每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错 Ant? ?没有一个约定的目录结构 ? 必须明确让ant做什么,什么时候做,然后编译,打包 ? 没有生命周期,必须定义目标及其实现的任务序列 没有集成依赖管理 MAVEN? ? 拥有约定,知道你的代码在哪里,放到哪里去 ? 拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

【Java EE 学习第82天】【MAVEN整合Eclipse】【MAVEN的一些高级概念】

一.MAVEN整合Eclipse MAVEN是非常优秀,但是总是要开命令行敲命令是比较不爽的,我们已经习惯了使用IDE,所以还有一种将MAVEN整合到Eclipse的方法. 详情查看:http://www.eclipse.org/m2e/,http://download.eclipse.org/technology/m2e/releases 其中,后者也是该插件的更新地址:安装完成之后要重启Eclipse,然后对几项MAVEN的插件进行设置: 找到window->preferences->Ma

第一章 maven+springmvc+spring+mybatis+velocity整合

一.ssmm简介 ssmm是当下企业最常用的开发框架架构 maven:管理项目jar包,构建项目 spring:IOC容器,事务管理 springmvc:mvc框架 myBatis:持久层框架 velocity:前端视图模板(相较于jsp,速度非常快,而且不需要占据jvm的永久代内存) 上述这些框架再加上版本控制工具(git).自动化部署工具(jenkins),就组成了当下中大型企业最常用的项目开发部署架构:以上各种框架以后我也会依次做笔记去写的,所以在下边不会做详细介绍.还有,在以下的整合过程

maven拓展——eclipse中运行maven项目

首先,在pom.xml中配置插件: <build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.1</version> <configuration> <port>8080</p

Maven学习(一) -- 安装Maven及Eclipse中配置Maven

安装及配置Maven环境变量 需要电脑中已经有Java环境 在控制台中输入:echo %JAVA_HOME%看是否能显示java home的路径信息: 在控制条输入:java -version 看是否显示java的版本信息: 下载官网:http://maven.apache.org/download.cgi 下载编译过的版本 apache-maven-3.3.9-bin.zip,解压至 C:\Park_Software\apache-maven-3.3.9 配置环境变量: 新建环境变量:M2_H

安装Maven及Eclipse中配置Maven

下载maven版本: 1.进入官网:http://maven.apache.org/download.cgi   ,下载编译后的maven版本:如图下: 2.创建一个目录,把下载的maven压缩包,进行解压,如: 配置maven环境变量: 1.新建系统变量: 2.把步骤一中自定义的变量名,添加至Path中:(如:%MAVEN_HOME%\bin) 3.检查maven是否配置Ok,进入cmd中,输入mvn -v,如果显示以下信息,则配置成功:  Eclipse上安装maven: 1.打开Eclip

第一章 : Android Studio 介绍 [Learn Android Studio 汉化教程]

摘自:http://ask.android-studio.org/?/question/789,为便于学习重新整理.. 本章将引导您完成安装和设置开发环境,然后你就可以跟随本书的例子和课程学习. 首先,您将安装被称为Java开发工具包(JDK)的必要组件. 然后你要下载和安装Android Studio以及Android软件开发工具包(SDK),这些都是开发Android应用程序所必需的工具. 接着,我们将向你展示如何使用新建项目向导来创建一个简单的项目HelloWorld. 最后,我们将向你展

第一章--MySQL数据库介绍及搭建

1. MySQL数据库介绍 1.1 MySQL介绍 MySQL属于传统关系型数据库产品,它开放式的架构使得用户选择性很强,同时社区开发与维护人数众多.其功能稳定,性能卓越,且在遵守GPL协议的前提下,可以免费使用与修改,也为MySQL的推广与使用带来了更多的利好.在MySQL成长与发展过程中,支持的功能逐渐增多,性能也不断提高,对平台的支持也越来越多. MySQL是一种关系型数据库管理系统,关系型数据库的特点是将数据保存在不同的表中,再将这些表放入不同的数据库中,而不是将所有数据统一放在一个大仓

第一章Google软件测试介绍

1.Google实现软件的方法:简单和直截了当 2.质量不等于测试.当你把开发过程和测试放到一起,就像在搅拌机里面混合搅拌那样,直到不能区分彼此的时候,你就得到了质量. 3.测试是开发过程必不可少的一部分,当开发过程和测试一起携手联姻时,即是质量达成之时. 4. Google团队由SWE(软件开发工程师), SET(测试开发工程师),TE(测试工程师)组成. 5. 在Google:对于一个测试人员,如果在某个产品中工作满18个月之后,就可以无理由地自愿转岗到其他产品. 6.Google从来不会在