AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

Maven 2 近况追踪

  • 2007-04-22
  • 本文字数:1178 字

    阅读完需:约 4 分钟

Maven 是一个基于模式的 Java 和 J2EE 项目构建框架,它不仅能对各类项目进行脚本化构建,而且支持 J2EE、Struts、Hibernate 等 框架技术,并且从项目的创建时刻贯穿到测试、打包到最后的部署,Maven 提供了一整套预设好的构造和组织项目的方法。Maven 的作者(在《Better Builds with Maven》一书中)是这样介绍 Maven 的:

Maven 包含了一系列构建标准、一个工件仓库模型(Artifact Repository Model),以及一个用来管理和描述项目的软件引擎。它为项目工件的构建、测试和部署定义了一个标准的生命周期,使得遵循其标准的项目可以轻松地重用常 用的构建逻辑。Maven 项目属于 Apache 软件基金会,它是一个开源社区,开发支持常用声明式项目对象模型(Project Object Model,POM)的软件工具。

Maven 和 ibilio 有一项合作协议,通过后者为项目编译所依赖的相关文件提供主机服务,这样使得基于 Maven 的默认安装时可以从已知的远程代码仓 库中取得所有所需的文件(这种机制很容易让人联想到 Gem,除了前者是以编译为核心方式)。拥有如此多的优点,基于 Maven 的项目貌似非常容易上手,其实不然,精简的外表下面涵盖的内容能写成一本 292 页的书。树大招风,由于它的宏伟目标,Maven 在过去曾经引发许多颇为强烈、而 Maven 的开发团队一直在致力于平息的反对声浪

Maven 的最佳实践常常无法解决现实世界中企业存在的问题。即使我同意他们的看法,我也要反对那些存在于已有企业实践和 / 或当前工具集的问题。

就在本周,Matt Raible 报告了他将 AppFuse 从 Ant 迁移到 Maven 的经历

迁移到 Maven 中最有趣的事情就是我们可以是 AppFuse 看起来更像一个框架,而不是一个项目启动工具包。我们认为这正是人们所需要的——特别是可以 为项目更新到 AppFuse 的最新版本。尽管有些人需要这个更新功能,但看起来更多人喜欢源码版本的 AppFuse——虽然这个版本很难以升级。我并不怪 他们。 当然,迁移到 Maven 的真正好处在其他地方也有,我们在最近这几个月已经看到邮件列表有明显得上升趋势,我也多次收到关于培训的咨询(是的,我确实提供 一个三天的关于 Spring、Hibernate、Ajax、Maven 以及 AppFuse 的培训)。对我来说,AppFuse 2.x 看起来要比 1.x 更为复杂,但是似乎社区并不是这样认为的。从不断增长的项目的活跃开发者来判断,开发人员似乎更喜欢基于 Maven 的项目。再重申 一遍,我们正在用 Maven!

自从 Maven 2 发布以后,各次升级(直到目前的 2.0.6 发布版)不间断地保持对核心引擎可用性的 Bug 修正和增量改进。代码仓库也不断地升级——包括对通用依赖包如 Spring 和 Tomcat,也包括对不那么通用的依赖包如 openid4java mule 的最新支持。今年的早些时候,核心开发人员 Jason Van Zyl John Casey 离开了 Maven 的主赞助商和商业支持提供商 Mergere 公司,但他们仍然继续积极参与 Maven 的开发活动

您可以通过此链接查看英文原文

2007-04-22 07:301034

评论

发布
暂无评论
发现更多内容

软件工程高效学 | 软件项目的开发模型

TiAmo

软件开发 模型开发

剥茧抽丝,细数模块化的前世今生

战场小包

前端 前端工程化 前端模块化

MPSK通信系统的设计与性能研究-8PSK

timerring

通信系统 8PSK

MySQL 语句中 where 条件后为什么写上1=1 , 是什么意思?

Java你猿哥

Java MySQL sql 后端 ssm

最佳实践 | 用腾讯云智能语音打造智能对话机器人

牵着蜗牛去散步

腾讯云 腾讯 语音识别 语音合成 智能对话机器人

三方对接「心得」与「体会」

Java 对外接口

简单的文件搜索工具:Find Any File激活版

真大的脸盆

Mac Mac 软件 文件搜索 搜索工具 搜索软件

玖章算术CEO叶正盛在杭州人工智能小镇AIGC论坛发表主题演讲

NineData

人工智能 代码开发 AIGC 玖章算术 NineData

厉害了!阿里内部都用的Spring+MyBatis源码手册,实战理论两不误

Java你猿哥

spring 面试 Spring Boot mybatis 面经

最新Ins图片保姆级保存方法来啦!你还在等什么!

frank

ins

龙蜥白皮书精选:龙蜥全面支持 Intel 第四代可扩展处理器 SPR 平台

OpenAnolis小助手

开源 Spr 操作系统 intel 龙蜥社区

Dubbo 正式支持 Spring 6 & Spring Boot 3

Java你猿哥

Java spring Spring Boot dubbo ssm

不懂就问:MySQL delete 表数据,磁盘空间为什么没有被释放?

Java你猿哥

Java MySQL 数据库 innodb Java工程师

架构的演进

程序员大彬

Java 架构

zookeeper的Leader选举源码解析

京东科技开发者

数据库 代码 企业号 3 月 PK 榜 选举机制

批量上传iOS应用程序截图的实用技巧

PostgreSQL 技术内幕(六)Greenplum 排序算子

酷克数据HashData

消费级AR眼镜爆发将近:Rokid+无影突破算力,打造“第三块屏幕”

云布道师

无影

弯道超车!阿里高工新产Java面试速成指南,面试骚操作都在里面了

Java你猿哥

Java 面试 面经 Java工程师 春招

Surfire 单元测试添加 jvm参数

HoneyMoose

新一代移动动态研发模式及原理机制解析

Onegun

移动开发 热更新 动态更新

MySQL8.0 优化器介绍(一)

GreatSQL

MySQL greatsql greatsql社区

数据库 CI/CD 工具 -- Bytebase 介绍

Se7en

干货分享|袋鼠云数栈离线开发平台在小文件治理上的探索实践之路

袋鼠云数栈

大数据 平台开发

应用健康度隐患刨析解决系列之数据库时区设置

京东科技开发者

数据库 优化 企业号 3 月 PK 榜 健康度

ChatGPT如何助力DevOps|用例解读

SEAL安全

DevOps ChatGPT 企业号 3 月 PK 榜

Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)

三十而立

Java

2周时间就掌握了Spring boot,原来是收藏了这样一份文档资料

三十而立

Java spring

是找茬? 还是装 B?阿里面试每轮必问的“Spring Boot”意义何在?

三十而立

在 Kubernetes 中部署应用交付服务(第 2 部分)

NGINX开源社区

nginx Kubernetes

Maven 2近况追踪_Java_James Kao_InfoQ精选文章