项目构建工具 Maven

项目构建工具 Maven

Apache
Java 查看源码»
跨平台
Apache
2008-09-07

Maven 是最流行的 Java 项目构建系统。

目前,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构建工具。遗憾的是,Ant 的项目管理工具(作为make的替代工具)不能满足绝大多数开发人员的需要。通过检查 Ant 构建文件,很难发现项目的相关性信息和其它元信息(如开发人员/拥有者、版本或站点主页)。

Maven 除了以程序构建能力为特色之外,还提供 Ant 所缺少的高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目,而使用 Ant 则需要十几行。事实上,由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目现在使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

Maven vs Ant

那么,Maven 和 Ant 有什么不同呢?在回答这个问题以前,我要强调一点:Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。因此,由于 Maven 和 Ant 代表两个差异很大的工具,所以我将只说明这两个工具的等同组件之间的区别,如表 1 所示。

表 1. Maven vs Ant

 MavenAnt
标准构建文件project.xml 和 maven.xmlbuild.xml
特性处理顺序
  1. ${maven.home}/bin/driver.properties

  2. ${project.home}/project.properties

  3. ${project.home}/build.properties

  4. ${user.home}/build.properties

  5. 通过 -D 命令行选项定义的系统特性

最后一个定义起决定作用。
  1. 通过 -D 命令行选项定义的系统特性

  2. 由 任务装入的特性

第一个定义最先被处理。
构建规则构建规则更为动态(类似于编程语言);它们是基于 Jelly 的可执行 XML。构建规则或多或少是静态的,除非使用

相关开发环境下的Maven插件:http://mevenide.codehaus.org/

的码云指数为
超过 的项目
加载中

评论(39)

K哥
K哥
maven 3.6.0 无法下载jar对应的源码,只有我一个人遇到这个问题吗???
红薯
红薯
自从升级到 #Maven# 3.5.x 后,一大堆错误
月林丨语风
月林丨语风
不是已经停运了吗
Javen-IJPay
Javen-IJPay
有没有大神来解答下这个#Maven# 依赖的问题 https://www.oschina.net/question/996497_2273236
红薯
红薯
每次一到要提交新版本到 #Maven# 就很痛苦
jiguican
jiguican
@OSChina OSC的Maven库无法访问
truelv
truelv
这个和repo是属于一类东西吧?
阳春白菜
阳春白菜
@OSChina OSC的Maven库是不是挂掉了??? #Maven#
No2_is_yours
No2_is_yours
maven 库根本无法访问,直接关闭算了,合并拖着不解决。 #Maven#
像風一样自由
像風一样自由
good #Maven#

Apache Maven 3.6.0 发布,项目管理和构建工具

Apache Maven 3.6.0 已发布,Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 更新内容: 修复 MNG-6311 - Mav...

2018/11/05 07:44

Apache Maven 3.5.4. 发布,项目管理和构建工具

Apache Maven 3.5.4 发布了,Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 更新内容如下: Bugs: MNG-6370...

2018/06/23 23:15

华为云和 Sonatype 联合发布中国官方 Maven 中央仓

近期,华为云与 Sonatype 签署了有关 Maven 中央仓的合作协议,华为云将作为中国唯一 Maven 中央仓的官方镜像节点,为国内广大开发者提供便捷的加速服务。 华为云是领先的云服务提供商,致力...

2018/03/23 16:45

Maven 3.5.3 发布,项目管理和构建工具

Maven 3.5.3 已发布, Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 主要更新内容: Bugs 修复: MNG-6323 ...

2018/03/10 23:47

Maven 3.5.2 发布,项目管理和构建工具

Maven 3.5.2 已发布, Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 该版本包含大量修复和改进: 修复 MNG-...

2017/11/02 15:41

Maven 3.5.0 发布,项目构建工具

Apache Maven团队 宣布Maven 3.5.0 发布。该核心版本与插件无关,我们将分开进一步发布插件。 在Maven 3.3.9发布之后,Eclipse Aether 项目已经停用,代码库被迁移到Apache Maven项目。3.4.0...

2017/04/10 14:21

开源中国 Maven 镜像库关闭访问

2013年9月17日开源中国 Maven 镜像库上线,新闻详情。 2015年6月29日镜像库暂停服务,新闻详情。 2015年8月4日在天翼云的支持下,镜像库重新上线,新闻详情。 上半年我们停止了镜像库的浏览器...

2016/08/08 20:54

换个视角看 Maven:一个领域平台的优美设计

作为一个Java程序员,Maven是再熟悉不过的工具了, 它提供了构建项目的一个框架, 在默认情况下为我们提供了许多常用的Plugin,其中便包括构建Java项目的Plugin,还有War,Ear等。除此之外还提...

2016/01/19 14:20

开源中国 Maven 镜像库重新上线,天翼云提供支持

开源中国的 Maven 镜像库(maven.oschina.net) 重新上线了,从 6 月份我们宣布暂停 Maven 服务到现在整整一个月的时间。在这一个月内我们被很多用户吐槽,同时还把枪口转到了 OSC 的其他业务...

2015/08/04 08:11

没有更多内容

加载失败,请刷新页面

3
回答
maven无法下载jar包,请大神帮我看看

如图 1.防火墙已关 2.本地库已全清远程仓库已更换阿里云(所有的镜像都换了一遍,现在刚刚更换的阿里的全局仓库) 3.eclipse已经安装好几遍 4.I...

前天 10:46
1
回答
Jfinal 项目启动一直卡在{dataSource-1} inited 无任何反应,没有报错

如上图,一直停留在这里没有动,如果我把数据库备份到同一主机的mysql 中新建的数据库就可以连接; 而其他的jfinal 项目连接该数据库也是没有问题,仅...

01/15 12:03
1
回答
JFinal Undertow有没有像jfinal3.5_all那用带所有jar的环境供下载呢,maven老是出问题...

@jfinal 波总好,JFinal Undertow有没有像jfinal3.5_all那用带所有jar包的环境供下载呢,本地maven老是出各种问题.....

2018/12/18 16:48
2
回答
nexus maven私服的问题

发布jar到nexus私服然后引用 为什么tendon里的包全都找不到呢。。。 是不是那个地方设置的有问题。。 tendon pom setting: 引...

01/11 10:27
1
回答
maven多个web工程的依赖如何配置?

场景: A工程为基础功能模块,可独立运行,独立维护. B工程为业务功能模块,依赖A工程,调试运行及打包时需要包含A工程的class,配置文件.静态文件等 ...

01/08 17:56
1
回答
eclipse下的maven项目如何正确打包在linux下运行?

以前没用过maven,现在在eclipse下开发maven项目,主要写了生产者和消费者两个java类程序,现在不知道如何正确打包,网上的例子乱七八糟的,根...

01/08 09:26
19
回答
maven中maven dependencies中依赖出现了项目

maven中maven dependencies中依赖出现了项目,把依赖的项目关掉,项目消失,但是还是无法打包 ,出现的错误如图。说明:依赖的项目为pro...

2014/05/22 09:52
4
回答
maven jar包冲突

A 架包旧版本 有 a 方法, A架包新版本有b方法, 然后两个方法在项目中都用到了,请问各位大佬,这种jar包冲突如何解决呢

2018/12/19 11:48
2
回答
SpringBoot聚合工程共用配置文件的问题
ecp 的回答 2018/12/18 10:36
最佳答案
可以考虑增加一个config server

没有更多内容

加载失败,请刷新页面

【Maven3教程】配置开发环境以及安装Eclipse的Maven插件

1.设置Maven本地仓库 2.查看Maven中英仓库 3.配置Eclipse的Maven插件

2016/05/19 22:52
410
2
Maven常用插件列表

插件名称 用途 来源 maven –clean -plugin 清理项目 Apache maven –compile -plugin 编译项目 Apache maven –deploy -plugin 部署项目 Apache maven –install -plugin 安装项目 Apache m...

2016/05/20 10:34
51
2
Maven 错误笔记

Maven 错误笔记

2016/07/22 23:43
280
0
maven安装并替换eclipse自带的maven

1.访问maven官网下载最新版版本maven https://maven.apache.org/download.cgi 选择下载apache-maven-3.3.9-bin.zip 2.解压复制到E:\apache-maven-3.3.9 3.配置maven环境变量 将bin加入到pat...

2016/05/03 19:13
110
1
各种主流SCM及maven相关插件

通常,多人协作的软件研发团队中的软件配置管理(Software Configuration Management,SCM)工作必不可少,而这一工作中的CMS(配置管理系统,比如ClearCase、Subversion)是不可或缺的。 各...

2014/07/15 23:10
251
0
Maven 打包发布package install deploy

情景一: 本地环境下,我写好了一个Maven项目A,有另一个的Maven项目B依赖A,我要发布一下A,让B更新同步。 A项目: Maven clean -> maven package->Maven install ->打包安装到本地的maven...

2018/05/02 11:06
217
0
maven的聚合模块和pom继承使用

1.什么是maven的聚合模块? 聚合模块为项目目录的最顶层,其他模块作为聚合模块子目录而存在。目的是为一次构建多个项目模块。 1.1 项目结构 我自己化了一个关于项目的关系: 1.2 pom标签配置...

2016/08/31 10:47
12
0
BuildTools_Index

# 1、Maven ## 1.1、安装 - [1分钟快速搭建maven](https://my.oschina.net/u/1859679/blog/381851) ### 1.1.1、最佳实践 1、[设置MAVEN_OPTS环境变量](http://blog.csdn.net/caiwenfeng_for...

2017/05/08 19:00
68
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部