用Maven做项目管理
在Java世界中我们很多的开发人员选择用Ant来构建项目,一个build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如jar文件管理混乱,各个项目结构和build.xml相差很大等等。而Maven的出现,给项目提供了更多的支持。
1 简介
Maven作为Apache的一个开源项目,旨在给项目管理提供更多的支持,主页地址为http://maven.apache.org/ 。它最早的意图只是为了给apache组织的几个项目提供统一的开发、测试、打包和部署,能让开发者在多个项目中方便的切换。很多伟大的事业,出发点都很简单,ebay就是很好的例证。而maven的成功又一次验证了这一点,越来越多的项目开始使用maven。
基本原理
Maven的基本原理很简单,采用远程仓库和本地仓库以及一个类似build.xml的pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。如图1。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以maven下载很小(1.1M),在执行maven任务时,才会自动下载需要的插件。
这个基本原理与Pear――PHP扩展与应用库(the PHP Extension and Application Repository)的原理非常相似,都有一个官方的仓库,都是微内核,通过网络将需要的文件下载到本地,通过官方仓库将相应的类库进行统一管理。Pear已经成为PHP开发事实上的标准,而Maven在Java世界的地位也逐渐加强,成为标准指日可待。
在Java世界中我们很多的开发人员选择用Ant来构建项目,一个build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如jar文件管理混乱,各个项目结构和build.xml相差很大等等。而Maven的出现,给项目提供了更多的支持。
1 简介
Maven作为Apache的一个开源项目,旨在给项目管理提供更多的支持,主页地址为http://maven.apache.org/ 。它最早的意图只是为了给apache组织的几个项目提供统一的开发、测试、打包和部署,能让开发者在多个项目中方便的切换。很多伟大的事业,出发点都很简单,ebay就是很好的例证。而maven的成功又一次验证了这一点,越来越多的项目开始使用maven。
基本原理
Maven的基本原理很简单,采用远程仓库和本地仓库以及一个类似build.xml的pom.xml,将pom.xml中定义的jar文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的jar,同一个版本的jar只需下载一次,而且避免每个应用都去拷贝jar。如图1。同时它采用了现在流行的插件体系架构,只保留最小的核心,其余功能都通过插件的形式提供,所以maven下载很小(1.1M),在执行maven任务时,才会自动下载需要的插件。
这个基本原理与Pear――PHP扩展与应用库(the PHP Extension and Application Repository)的原理非常相似,都有一个官方的仓库,都是微内核,通过网络将需要的文件下载到本地,通过官方仓库将相应的类库进行统一管理。Pear已经成为PHP开发事实上的标准,而Maven在Java世界的地位也逐渐加强,成为标准指日可待。