Maven与Ant比较.doc

上传人:scccc 文档编号:12063502 上传时间:2021-12-01 格式:DOC 页数:6 大小:70.50KB
返回 下载 相关 举报
Maven与Ant比较.doc_第1页
第1页 / 共6页
Maven与Ant比较.doc_第2页
第2页 / 共6页
Maven与Ant比较.doc_第3页
第3页 / 共6页
Maven与Ant比较.doc_第4页
第4页 / 共6页
Maven与Ant比较.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《Maven与Ant比较.doc》由会员分享,可在线阅读,更多相关《Maven与Ant比较.doc(6页珍藏版)》请在三一文库上搜索。

1、Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。Maven除了具备Ant的功能外,还增加了以下主要的功能:1)使用Project Object Model来对软件项目管理;2)内置了更多的隐式规则,使得构建文件更加简单;3)内置依赖管理和Repository来实现依赖的管理和统一存储;4)内置了软件构建的生命周期; 一 POM(Project Object Model)与项目管理每一个Maven工程都包含一个pom.xml文件,其他存储了该工程相关的信息,从而达到一定的项目管理的功能。例如包含了工程的配置,缺陷跟踪系统信息,工程的组织,许可协议,工程的路径,依赖等信息

2、。典型的pom.xml如下:<project ><modelVersion>4.0.0</modelVersion><!- The Basics -><groupId>.</groupId>< artifactId>.</artifactId>< version>.</version>< packaging>.</packaging>< dependencies>.</dependencies>< parent>.&

3、lt;/parent>< dependencyManagement>.</dependencyManagement>< modules>.</modules>< properties>.</properties><!- Build Settings -><build>.</build>< reporting>.</reporting><!- Project Meta Data -><name>.</name>< de

4、scription>.</description>< url>.</url>< inceptionYear>.</inceptionYear>< licenses>.</licenses>< organization>.</organization><developers>.</developers>< contributors>.</contributors>推荐精选<!- Environment -><issue

5、Management>.</issueManagement>< ciManagement>.</ciManagement>< mailingLists>.</mailingLists>< scm>.</scm>< prerequisites>.</prerequisites>< repositories>.</repositories>< pluginRepositories>.</pluginRepositories>< di

6、stributionManagement>.</distributionManagement>< profiles>.</profiles>< /project> 二 隐形的规则和简单的构建文件Maven工程的目录结构必须为如下的结构Maven还有内置的构建生命周期,内置定义了build,test,package,deploy等task。由于Maven工程目录的规则和内置的构建生命周期,从而使得构建文件简单,例如如下的构建文件中甚至没有出现build,package等task的定义,但是我们已经可以调用wvm package等内置

7、的task了:<project xmlns="http:/maven.apache.org/POM/4.0.0" xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/maven.apache.org/POM/4.0.0 http:/maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <group

8、Id>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>Maven Quick Start Archetype</name> <url>http:/maven.apache.org</url> <dependencies> <dependenc

9、y> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>推荐精选 三 依赖管理和RepositoryMaven的dependence management用来管理所有此project的dependences,且在depe

10、ndence repository中自动查找和下载dependence。1) 依赖管理例如工程以来MySQL如下:<dependencyManagement>< dependencies>< dependency>< groupId>mysql</groupId>< artifactId>mysql-connector-java</artifactId>< version>5.1.2</version>< /dependency>< dependencies>&l

11、t; /dependencyManagement><dependency>< groupId>mysql</groupId>< artifactId>mysql-connector-java</artifactId>< /dependency>2)dependence repository更好的办法是公司或每个team有自己的repository,例如下图:推荐精选 四 构建生命周期的定义构建生命周期显式地定义了构建,测试,和发布的过程,是每个Maven工程的核心。Maven包含了3个内置的生命周期:def

12、ault,clean和site。1)default生命周期处理了工程的编译,测试和部署,他一共包含20多个阶段,主要的阶段如下:Validate: 验证所有的工程信息是否可用且正确Compile: 编译源代码Test: 在一套framework下运行但愿测试Package: 以发布的格式打包编译的代码Integration-test: 在集成测试环境中处理(部署)发布包Verify: 检测发布包是否正确可用Install: 在本地的repository上安装发布包Deploy: 在远程的repository上安装发布包以上的阶段具有先后顺序,执行某个阶段时,此阶段前的所有阶段都会被自动地执行。2)clean生命周期处理工程的清理工作,包含3个阶段:pre-clean, clean, post-clean。推荐精选3)site生命周期处理工程site文档的生成和部署,包含下列阶段:pre-site, site, post-site 和site-deploy,其中site-deploy用来将site文档部署到指定的web server上。 完!  (注:可编辑下载,若有不当之处,请指正,谢谢!) 推荐精选

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1