Apache Maven 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Apache Maven 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Apache Maven 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 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

  Maven Ant
标准构建文件 project.xml 和 maven.xml build.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/

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(39) 发布并加入讨论🔥
发表了资讯
2023/10/06 10:44

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

Apache Maven 3.9.5 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7851] - modelVersion 为 4.0 时的错误消息令人困惑 Improvement [MNG-7875] - 为传输消息着色 [MNG-7895] - 在文件配置文件激活中支持 ${project.basedir} Task [MNG-7856] - Maven Resolver Provider classes ctor 更改 [MNG-7870] -...

0
4
发表了资讯
2023/08/05 10:52

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

Apache Maven 3.9.4 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7846] - DefaultExceptionHandler.getMessage() 中的无尽循环 依赖升级 [MNG-7828] - 将 guava 从 31.1-jre 升级到 32.0.1-jre [MNG-7847] - 升级至 Resolver 1.9.14 更多详情可查看官方公告。...

0
3
发表了资讯
2023/06/28 10:39

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

Apache Maven 3.9.3 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7786] - Maven 插件验证消息具有误导性 [MNG-7795] - IllegalArgumentException:“other”在插件验证期间具有不同的 root [MNG-7796] - 无法计算 Top directory [MNG-7799] - 插件验证错误地报告存在问题(但是显示没有) [MNG-7811]...

2
1
发表了资讯
2023/02/09 07:06

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

Apache Maven 3.9.0 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Sub-task [MNG-7019] - 当配置文件丢失时也在 start 时通知 [MNG-7447] - 通过使用 Stream API 进行多项改进 Bug [MNG-5222] - Maven 3 不再记录有关已弃用插件的警告参数。 [MNG-6965] - 扩展突然有了 org.codehaus.plexus:plexus-utils🏺1...

4
4
发表了资讯
2022/06/13 07:21

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

Apache Maven 3.8.6 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7432] - [REGRESSION] Resolver 会话包含非 MavenWorkspaceReader [MNG-7433] - [REGRESSION] 在同一源码树上工作的多个 maven 实例会相互锁定 [MNG-7441] - 更新(可选)Logback 的版本以解决 CVE-2021-42550 问题 [MNG-7448] - 不要忽...

4
2
发表了资讯
2022/03/15 07:27

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

Apache Maven 3.8.5 发布了。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-5180] - 版本控制的快照版本列表不包括在元数据合并中 [MNG-5561] - 插件重新定位会丢失配置 [MNG-5982] - ... 的 POM 是无效的,传递依赖... 而属性被覆盖 [MNG-6326] - 在没有找到核心扩展时继续构建 [MNG-6727] - 在父版本和 CI 友好版...

13
3
发表了资讯
2021/11/22 07:24

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

Apache Maven 3.8.4 发布了。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7270] - Maven 启动脚本(init)调用 which(1),这是一个 一个外部命令 [MNG-7285] - [Regression] MavenProject.getArtifacts() 没有在多个线程中返回正确的值 [MNG-7300] - [Regression] 由于 java.lang.ClassNotFoundException 重新加...

5
2
发表了资讯
2021/10/06 07:53

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

Apache Maven 3.8.3 发布了。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7045] - 从 Maven 中删除 CDI API [MNG-7214] - CDI API 中的过渡性依赖 parent 不好。 [MNG-7215] - [Regression] Maven 网站插件无法解决 parent 问题 [MNG-7216] - Revert MNG-7170 [MNG-7218] - [Regression] o.a.m.model.Build.get...

1
4
2021/08/16 07:27

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

Apache Maven 3.8.2 发布了。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-4706] - 多线程构建可以为本地存储库中下载的工件创建错误文件 [MNG-5307] - 依赖项解析期间的 NPE - parallel mode [MNG-5315] - Artifact resolution 在并行模式下偶尔会失败 New Feature [MNG-7149] - 在 mvnDebug 脚本中引入 MAVEN_...

0
4
2021/04/06 07:49

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

Apache Maven 3.8.1 发布了。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7128] - 改进在构建 POM 中定义的 blocked repository 时的错误信息。 New Feature [MNG-7116] - 增加对 external:http:* 镜像选择器的支持 [MNG-7117] - 增加对 blocking mirrors 的支持 [MNG-7118] - 默认屏蔽外部 HTTP 资源库 Depend...

8
6
发表于服务端专区
2019/11/28 07:26

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

Apache Maven 3.6.3 发布了。pache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 这是一个回归版本,用于修复 3.6.2 带来的一些关键问题。关于二进制分发的一些许可证问题已得到修复。更新内容如下: Bug [MNG-6584] - Maven 3.6.0 不再显示 ReasonPhrase [MNG-6759] - [REGRESSION] 在某些情况下,解决传递依赖时,Maven 无法使用依赖中的 <repositor...

2
2
发表于运维专区
2019/09/08 07:33

Apache Maven 3.6.2 发布,性能改进、内存减少

Apache Maven 3.6.2 发布了,此版本更新亮点包括: 此版本主要侧重于性能改进、更好的内存占用和更少的 CPU 使用率。 继续将 Maven Core 转换为使用 JSR 330 注解而不是 Plexus。 对“release”限定符的新增支持。 toolchain.xml 文件支持环境变量。 更新说明 详情查看: https://maven.apache.org/docs/3.6.2/release-notes.html...

7
4
发表于AI & 大数据专区
2019/04/14 07:14

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

Apache Maven 3.6.1 已发布,Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 部分更新内容: 修复 [MNG-5705] - NPE on parallel build in BuilderCommon.handleBuildError(BuilderCommon.java:147) [MNG-5965] - Parallel build multiplies work if multiple goals are given [MNG-5995] - Maven itself cannot run without maven-compat [MNG-62...

2
5
发表于软件架构专区
2018/11/05 07:44

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

Apache Maven 3.6.0 已发布,Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 更新内容: 修复 MNG-6311 - Maven intolerably slow when import scope used heavily in large project MNG-6358 - Maven build should not require access to apache.org MNG-6383 - ProjectBuilder unnecessarily rebuilds modules with ci-friendly versions MNG-64...

8
5
2018/06/23 23:15

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

Apache Maven 3.5.4 发布了,Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 更新内容如下: Bugs: MNG-6370 reporter and contributor: Sylwester Lachiewicz MNG-6382 reporter: Falko Modler MNG-6388 reporter: Mike Kelly MNG-6410 reporter and contributor: Łukasz Dywicki Improvements: MNG-5756 reporter: Jarkko Rantavuori contribu...

1
2
发表于AI & 大数据专区
2018/03/23 16:45

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

近期,华为云与 Sonatype 签署了有关 Maven 中央仓的合作协议,华为云将作为中国唯一 Maven 中央仓的官方镜像节点,为国内广大开发者提供便捷的加速服务。 华为云是领先的云服务提供商,致力于为客户提供稳定可靠、安全可信、可持续演进的云服务。其中,DevCloud 是集华为研发实践、前沿研发理念、先进研发工具为一体的研发云平台,面向开发者提供研发工具服务,让软件开发云简单高效。Sonatype 是 Apache Maven 的核心贡献者,...

37
68
2018/03/11 06:47

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

Maven 3.5.3 已发布, Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 主要更新内容: Bugs 修复: MNG-6323 reporter: Ben Caradoc-Davies MNG-6320 reporter: Eugene Pliskin MNG-6300 reporter: Andreas Kurth MNG-6298 reporter: Ryan Heaton MNG-6296 reporter: Robin Müller MNG-6282 reporter: Dejan Stojadinović MNG-6255 reporter: And...

2
1
发表了资讯
2017/11/02 15:41

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

Maven 3.5.2 已发布, Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 该版本包含大量修复和改进: 修复 MNG-5935 - Optional true getting lost in managed dependencies when transitive MNG-6127 - Fix plugin execution configuration interference MNG-6148 - Can’t package and assemble with JDK9/Jigsaw MNG-6149 - MetadataResolutionRe...

15
10
发表了资讯
2017/04/10 14:21

Maven 3.5.0 发布,项目构建工具

Apache Maven团队 宣布Maven 3.5.0 发布。该核心版本与插件无关,我们将分开进一步发布插件。 在Maven 3.3.9发布之后,Eclipse Aether 项目已经停用,代码库被迁移到Apache Maven项目。3.4.0版本的原始目标是在迁移到Apache Maven项目之后,使用完全相同的代码替换Aether,然后对解析器代码以及Maven的其他部分进行错误修复。但是代码在两个基础之间的迁移花费的时间比预期的长,因此,对于3.0版本的意图范围超出了Maven核心的其...

24
13
发表了资讯
2016/08/08 00:00

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

2013年9月17日开源中国 Maven 镜像库上线,新闻详情。 2015年6月29日镜像库暂停服务,新闻详情。 2015年8月4日在天翼云的支持下,镜像库重新上线,新闻详情。 上半年我们停止了镜像库的浏览器访问,上个月停止了整个镜像库的访问。因为和天翼云的合作到期。 资源的消耗+Nexus项目本身的问题导致镜像库频繁出各种问题。而且由于开发者无需通过浏览器访问,因此没有人愿意再支持这个项目,另外本身访问量并不大,但是被当成中间代...

117
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
39 评论
625 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部