一个更正式的 Apache Maven 的定义: Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。 当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后 Maven 可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。 别让Maven是一个"项目管理"工具的事实吓跑你。如果你只是在找一个构建工具,Maven能做这个工作。 事实上,本书的一些章节将会涉及使用Maven来构建和分发你的项目。
Maven简单介绍前言Maven和ANT是Apache推出的大名鼎鼎的Build和工程管理工具,相对ANT而言Maven的优势:1.对第三方依赖库进行统一的版本管理。只要用了Maven2就不用再为每个项目复制spring.jar和hibernate.jar了,Maven2会在你需要的时候,自动把这些第三方依赖库找到,你需要编译,Maven2就把这些jar包放到classpath里,你需要打包,Maven2就帮你把需要的jar包都复制到WEB-INF/lib/目录下。
Maven是什么项目管理工具项目对象模型(Project Object Model)坐标集合(Group Artifact Version)项目生命周期(Project Lifecycle)依赖管理系统(Dependency Management)定义运行目标(goalsinplugin’sphase)项目构建工具Ant??基本概念项目对象模型(POM)坐标(GAV)依赖管理仓库管理POM项目关系定义(项目坐标,依赖定义)。
目录自动安装手工安装(本人比较喜欢和推荐的做法)pom.xml图形化编辑工具。
1、Mavn最近实践:版本管理1.1什么是版本管理首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基本用法。版本管理中说得版本是指构件(artifact)的版本,而非源码的版本(如subversion中常见的rXXX,或者git中一次提交都有个sha1的commit号)。
MAVEN2的Eclipse插件安装和使用
Maven1.0已经历了几年的时间,并且作为Ant的替代品已被广大的开发人员所接收,但它并没有在很大程度使开发人员从Ant的 build.xml文件中解脱出来。Maven1.0速度慢并且笨拙,使用起来的困难度并不亚于使用Ant的项目。事实上,它的核心是基于Ant实现的。 在经过了几乎彻底的重写后,Maven2.0诞生了。
Maven介绍、安装、常用命令 Eclipse下Maven项目开发 坐标与依赖 多模型开发 常用插件和自动化部署 内部仓库使用 生成站点 Maven高级主题
开发中要用到maven,所以对maven进行了简单的学习。因为有个maven高手在身边,所以,很快就上手了,我这里算是自我总结吧。
Maven是一款优秀的开源构建工具,它能够友好的管理构建过程及Java类库间的依赖关系。 本文介绍Maven 3在windows环境下的安装及配置过程。MAVEN需要JDK才能正常运行,在使用本文档前请参考《RCMS-EG-TR02-001 JDK 1.6安装和配置手册》完成JDK的安装。
绝大部分Maven用户称Maven是一个“构建工具":一个用来把源代码构建成可发布的构件的工具。构建工程师和项目经理会说Maven是一个更复杂的东西:一个项目管理工具。那么区别是什么?像Ant这样的构建工具仅仅是关注预处理,编译,打包,测试和分发。像Maven这样的一个项目管理工具提供了构建工具所提供功能的超集。除了提供构建的功能,Maven还可以生成报告,生成Web站点,并且帮助推动工作团队成员间的交流。一个更正式的ApacheMaven1的定义:Maven是一个项目管理工具,它包含了一个项目对象模型(ProjectObject Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的 REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
Maven2的目标使项目构建构成更容易提供统一构建系统提供高质量的项目信息提供开发的最佳实践指南能无缝的加入新的特性了解Maven2主要功能构建项目(Builds)项目报告(Reporting)依赖管理(Dependencies)一致的项目build流程和结构了解Maven2 Maven2如何工作?内部仓库外部仓库2机1项目A项目BInstall构件A或B机2项目3机1本地仓库下载构件外部仓库1机2本地仓库依赖依赖Deploy构件A或B获取构件A和B下载构件A和B获取构件A了解。
中央仓库约定优于配置生命周期1、CleanLifecycle在进行真正的构建之前进行一些清理工作。2、DefaultLifecycle构建的核心部分,编译,测试,打包,部署等等。3、SiteLifecycle生成项目报告,站点,发布站点。Nexus1、解压nexus下载的安装包nexus-2.0.5-bundle.zip2、选择对应环境的启动文件予以启动进行配置。
先说maven2吧,看了好几天,觉得它涉及的东西挺多的,不知道从哪里入手,看了不少资料,对它有了大概的了解。 Maven2就是一个项目管理的工具,它使项目的构建更加容易,提供统一的管理,可以对项目进行预处理、编译、测试、持续整合、打包和发布。除了提供构建的功能,Maven2还可以生成报告,生成web站点,促进团队间的合作与交流。
Windows平台下使用Nexus搭建Maven本地仓库服务器(Maven私服)
Nexus 是Maven仓库管理器,如果你使用Maven,你可以从Maven中央仓库 下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地架设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。
最近由于工作原因在研究、应用Maven,有了一些体会就 写成了此文。本文虽然是Maven2的入门文章,但并不涉及Maven的历史、下载与安装,这些内容可以到Maven的官方网站上了解。本文主要是关注 Maven中的重要概念,并以一个实例来阐述使用Maven的基本方法。
Maven1.0已经历了几年的时间,并且作为Ant的替代品已被广大的开发人员所接收,但它并没有在很大程度使开发人员从Ant的 build.xml文件中解脱出来。Maven1.0速度慢并且笨拙,使用起来的困难度并不亚于使用Ant的项目。事实上,它的核心是基于Ant实现的。 在经过了几乎彻底的重写后,Maven2.0诞生了。
用Maven构建JavaWeb开发环境(Jetty容器)之一Maven是构建Java应用的优秀管理工具,是Apache软件基金会的顶级项目。其具有开发目录构建和管理,统一管理第三方依赖,编译,测试,打包,发布等功能。最大的特点要数第三方依赖管理了,因为其它功能都能从Ant中找到踪影。以往每个项目独立管理依赖,使得每个项目打包后都是巨大无比的,而真正的程序文件却没有多少,Maven接管第三方依赖后,我们的应用就只有程序文件了,没有了jar包轻巧很多,而统一的管理,使得我们可以随意获取jar资源。初学者使用Maven总是感觉很难上手,其中也有一部分人是被Maven下载资源那疯狂的做法吓退的,这就是Maven的精巧之处。