Ryan Slobojan 在 InfoQ 上张贴了一篇有关 Maven 优劣讨论的文章——《Debate: Is Maven the right tool for builds?》。在我的 Java 开发经历中,最开始使用的 Ant,一个非常简洁而且强大的构建工具,不过 Ant 对于项目所依赖的 jar 包的管理还是非常弱的,项目所依赖的每一个 jar 包都需要自己手工去寻找、下载、组织。就像 Redhat 的 RPM 机制一样,容易被无穷无尽的依赖问题所困扰。Maven 在这方面要好得多。Maven 对项目的组织结构的管理也相当不错,只需要确定好项目的类型,仅仅使用一个名字就能自动创建出一个项目的目录结构出来,遵守如今时兴的“惯例优先原则”。Maven 的好处还有很多,不过与此同时也还存在不少问题。在上文中,抱怨最多的就是 Maven 的复杂性,甚至有人称之为 EJB2 的构建工具。和 Ant 相比,想稍微调整一下 Maven 的难度要高不少,一大堆撰写并不良好的文档对用户而言,更是感觉不好。另外,Maven 的在 IDE 中的插件都还很初阶,难以方便地发挥出 Maven 本身的强大功能,还不好用,甚至还充斥着不少 bug。
自从 RoR 出现之后,Java 社区普遍对 Java 语言、开发工具、开发方法提出了更高的要求,不单要保留 Java 强大的特性,还希望它们能够更加易于使用、更加敏捷灵活。但愿 Java 生态圈能够在这一次进化中,变得更加完美。 :)
预祝本 blog 的各位读者春节快乐~
Maven 的利弊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
有关 org.dom4j.Node.numberValueOf 方法的一个说明
在 org.dom4j.Node 中可以用 numberValueOf 方法根據 XPath 表達式獲取指定元素或者屬性的數字類型的值。在 dom4j
设置 Tomcat 自动重新加载 web 应用程序
Tomcat 中自動重載 web 應用程序的配置:修改 TOMCAT_HOME/conf/server.xml 文件,添加 <Context> 標籤讓
解决 c3p0 和 MySQL 集成情况下,连接长时间闲置后重新使用时报错的问题
MySQL 的默認設置下,當一個連接的空閒時間超過8小時後,MySQL 就會斷開該連接,而 c3p0 連接池則以爲該被斷開的連接依然有效。在這種情況下
在项目中为 Spring Framework 配置 Log4j
創建一個基於 Spring Framework 的項目之後,在使用 JUnit 進行單元測試時,控制檯中打印出警告信息: log4j:WARN No