`
yinwufeng
  • 浏览: 286964 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

下个项目马上要从antx上转移到maven上了,赶紧补补maven的知识。

 

 

在讲为什么使用maven之前我想说一下,antx,很多人知道ant,其实antx是阿里的牛人自己搞的一套基于ant扩展的在某些方面类似于mavnen的工具,我们甚至有eclipse的antx插件,可想而知antx在阿里的项目管理中的重要地位。它有很多优秀之处:

1. 可以比较好的支持第二方库

2. 支持项目之间的依赖和继承

3. antx可以用jelly来写插件

4. car包的支持,这里简单介绍下car包:

car是war包的一种中间格式,在打包的时候包含vm页面,webx.xml,classes等资源,但是没有包含
WEB-INF/lib,一个war包能包含多个car 包,在war包打包的时候,能够把web工程依赖的car中的jar
包,包括传递依赖的jar包,一起合并到WEB-INF/lib下

5. auto config: auto-config.xml配置项目中需要被替换的资源

那我们为什么还需要引入maven呢?

先说一下Antx在存在哪些问题:

1. Antx第三方库的管理比较复杂,如果某个项目需要一个新的jar包或者新版本的jar包,则需要走一个严格申请流程,并且需要自己提交相关的jar包

2. Antx对jar包的版本控制,changelist等没有工具上的支持,导致很多项目都是1.0-SNAPSHOT从头用到尾,导致包版本比较不好控制。

3. Antx对SCM打包部署的支持不是很强。

4. Antx在于IDE的兼容性上存在问题,为了让eclipse支持antx,我们需要单独写一个antx插件来让eclipse支持antx,对于其他的一些比较好的IDE比如Intellij IDEA,是不支持antx的。

5. 现在IDE很多都有一键式DEBUG的功能,包括集成对应用服务器的支持,antx在这方面存在不足。

Maven能解决这些问题么,还有更好的优势么, 答案是YES

1. Maven的库是由开源组织维护,不需要我们再花精力去管第三方库,即使自己维护,也比较方便。

2. Maven对jar包的版本管理有工具上的支持,比如将Release版本和Snapshot版本区分开,有利于SCM管理。

3. Maven是标准,用过的人多,不需要额外培训。

4. Maven的plugin比较多,可以有更多功能,Maven现有体系比较开放,采用的技术相对比较通用和成熟,plugin的机制也可以便于我们扩展更多功能。

5. Maven的库下载是即用即下,不需要实现全部down下来。Maven的插件也是自动升级,可以方便的
我们扩展新功能。

6. 可以很方便的与eclipse, IDEA这样的主流的IDE集成

7. 仓库管理器:它的出现有两个目的:首先它的角色是一个高度可配置的介于你的组织与公开Maven仓库之间的代理,其次它为你的组织提供了一个可部署你组织内部生成的构件(第二方库)的地方。

8. 版本管理功能,这里的版本管理不是指第三方库的版本管理,而是项目的版本管理

9. 站点功能:它的出现让我们可以对项目的状态一目了然,可以自动的把项目的状态和各种报表以站点的形式发布到内部网或者外部网,可以随时随地查看项目状态。 有很多中报表可以选择,包括,doc生成,代码规范的检查,自动bug检查,单元测试报表,单元测试的代码覆盖率报表

 

分享到:
评论

相关推荐

    maven2搭建hibernate+spring+struts2项目

    本文主要介绍如何使用Maven2搭建一个基于SSH的Web项目。 首先,我们需要理解Maven2的核心功能——项目管理和依赖管理。Maven通过使用一个POM(Project Object Model)文件来定义项目的构建过程和依赖关系,从而简化...

    maven环境部署以及eclipse中的应用

    #### 五、Maven优势 - **自动化构建**:Maven能够自动化处理项目构建过程,减少了手动干预的需要。 - **依赖管理**:Maven能够智能地管理项目的依赖,避免了版本冲突的问题。 - **项目标准化**:通过POM文件,Maven...

    《maven下载、安装、配置与使用教程》

    #### 1.2 Maven 优势 - **简化构建过程**:Maven通过一套约定优于配置的方法,简化了项目的构建过程。 - **依赖管理**:Maven提供了一种高效且可靠的依赖管理系统,确保所有依赖项都被正确地下载和管理。 - **生命...

    apache-maven-3.6.2_maven_

    与IDE的集成也是Maven的一大优势,尽管描述中提到“不用安装idea”,但事实上,Maven可以很好地与IntelliJ IDEA、Eclipse等主流Java IDE集成,提供更方便的开发环境。在IDE中,开发者可以直接运行Maven命令,查看...

    maven API maven API

    **三、Maven API 的优势** 1. **标准化**: Maven统一了Java项目的构建过程,减少了重复工作,提高了开发效率。 2. **可扩展性**: Maven API的开放性使得插件系统非常强大,几乎可以处理任何构建需求。 3. **依赖...

    MavenRunHelper.zip

    MavenRunHelper的优势在于其便捷性和易用性。它将Maven的强大功能与直观的图形界面相结合,使得开发者可以更专注于编写代码,而不是记忆命令行。此外,对于新手来说,MavenRunHelper降低了学习Maven的难度,对于资深...

    Maven的安装包:apache-maven-3.6.1-zip

    **七、Maven 的优势** - **依赖管理**: 自动下载和管理项目所需的库,避免版本冲突。 - **标准化**: 通过约定优于配置的原则,使项目结构和构建过程标准化。 - **插件丰富**: 大量插件支持各种构建任务,如编译、...

    Maven3.8.1.rar免费

    **Maven 3.8.1 免费安装指南** Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它通过使用一个项目对象模型(Project Object ...通过正确安装和配置Maven,你可以充分利用其优势,享受高效便捷的开发体验。

    Maven3.5~3.6.3各版本下载

    Maven的核心优势在于其强大的依赖管理和自动化的构建过程。以下是使用Maven进行项目构建的一些关键步骤: 1. **创建POM文件**:每个Maven项目都需要一个`pom.xml`文件来定义项目的结构、依赖关系、构建目标等信息。...

    Maven3实战笔记08Maven反应堆

    #### Maven反应堆的优势 1. **简化构建管理**:通过Maven反应堆,可以将多个相关联的Maven项目作为一个整体进行构建和部署,极大地简化了构建过程的管理。 2. **提高构建效率**:Maven反应堆能够自动处理项目间的...

    maven初学者摇篮

    - **优势**: 提高了开发效率,降低了维护成本。 3. **一般接口** - **命令行**: Maven主要通过命令行工具进行操作。 - **目标**: 命令对应于不同的构建阶段,如`clean`、`install`等。 4. **基于插件的全局重用...

    Maven安装配置说明

    综上所述,Maven作为一款强大的项目管理工具,在项目构建和依赖管理方面具有显著优势。通过对Maven进行正确的安装和配置,以及合理利用Eclipse集成的Maven支持,可以大大提高软件开发的效率和质量。

    maven基础入门教程

    #### Maven的优势与使用场景 1. **传统项目管理方式的问题** 传统的项目管理方式可能会遇到jar包冲突、依赖管理复杂、jar包过大、配置不一致等问题。 2. **Maven的优势** Maven通过依赖管理和仓库管理,有效解决...

    黑马maven笔记,第一天

    ##### Maven的核心优势 1. **依赖管理**:Maven提供了对jar包的统一管理,能够有效地减少项目中的jar包冲突问题,同时也节省了大量的存储空间。 2. **一键构建**:Maven支持从编码、编译、测试到部署的一键式操作,...

    maven安装和使用

    #### 二、Maven的优势 1. **自动化构建**:Maven简化了项目构建流程,从清理、编译、测试到生成报告、打包和部署,只需一条简单的命令(例如`mvn clean install`)即可完成一系列操作。这一特性极大地提高了工作...

    apache-maven下载

    如果本地没有所需依赖,Maven会从中央仓库(Central Repository)查找并下载,这也是Maven的一大优势,因为它拥有广泛的开源库支持。 此外,Maven的插件系统也是其强大功能的体现。通过安装和配置各种插件,Maven...

    Maven 使用入门.pdf

    #### Maven 介绍与优势 Maven 是一款流行的 Java 项目管理和构建工具,它通过一套标准化的方法来简化项目的构建过程。Maven 的核心价值在于它能够简化项目构建过程,使得开发者能够更加专注于业务逻辑的开发。以下...

Global site tag (gtag.js) - Google Analytics