`
pterodactyl
  • 浏览: 774109 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

aboug maven2

    博客分类:
  • java
阅读更多

今天infoq上一篇帖子,里面有句话说maven 整个一个配置系统的EJB2,说到我心坎里了。
Mavenmaven 的好处,但是当你实际用起来maven 之后,问题比你想象的要多的多,你很难驾驭它,这一切来自于混乱的仓库/版本/依赖管理和糟糕的ide插件支持。
我曾经发过帖子描述了我的需求和对maven 的期待以及遇到的实际问题,newsmth上有个网友说我应该用maven1而不是maven2,我越核计越觉得不对劲,虽然那时我刚用maven ,了解到的反对声音貌似很少,但是现在看看,随着对maven 了解的增多,我也同时听到了越来越多的质疑声音。
主要的问题有如下几个:
第一:举例说,你有个一依赖A用到了spring-2.0.5;后来spring在仓库换地方了(这种事情太多了,看看maven 混乱的仓库吧),而你需要的是最新的spring2.5.1,那么你编译的时候就会同时有一堆spring2.0.5的文件和spring2.5的文件;那么你需要手动的排除2.0.5的相关资源。问题是在maven 体系里面,这种情况非常常见,大量的依赖混在一起的时候,你看着mvn install之后lib文件夹下乱七八糟的jar真是欲哭无泪啊,很多jar是同一个库的不同的版本,这些版本的依赖可能还不同,导致问题进一步的恶化。
第二:从eclipse的maven 插件来说,add dependency的时候,一旦仓库更新了,你根本看不到最新的文件是是什么,比如struts2现在是2.0.11,但是你搜索的时候只能看到 2.0.9,因为我是那个时候装的;加入了这个dependency之后只能手动改版本到2.0.11再编译。
第三:开发者们同步仍然有困难。如果项目依赖一个仓库里面没有的文件你就完蛋了,手动拷贝到本地目录是个常见做法,如果你有100个人参与项目 我想你要加入一个依赖简直大家都要崩溃了,比如struts2的json插件这个包。幸好还有artifactory,不过你一遍遍的手动发到私服上也够 烦了。
maven 的支持者们,我们是活在现实世界中的生命,maven 的思想很好但是java本身缺乏版本管理机制并且maven 也没有切实有效的解决这个问题,只能靠meta里面maven 文件夹里面的描述信息,这个信息很多时候没有经过严格测试的(我遇到过几次了!导致项目根本没法编译过去,那个包的开发人员一定也用的是他自己的私服)!如果再这样下去我想很多人会崩溃的……
我仍然是maven 的用户,但是我在瞪着眼睛等待一个新的工具,取代maven 和ant。

分享到:
评论

相关推荐

    maven2离线安装包

    标题“maven2离线安装包”指的是针对Maven 2的不依赖网络环境的安装包,主要用于在没有互联网连接或者网络环境不稳定的情况下安装和使用Maven。Maven是一个项目管理和综合工具,它简化了Java项目的构建、依赖管理和...

    Maven 2 Eclipse Plugin

    Maven 2 Eclipse Plugin 是一个强大的开发工具,它将Apache Maven的构建功能与Eclipse IDE紧密集成,使得Java开发者能够在Eclipse环境中无缝地管理项目依赖、构建和测试。这个插件极大地简化了Maven项目的配置和管理...

    maven2详细教程

    【Maven 2 详细教程】是一份专为开发者准备的指南,旨在详细介绍Apache Maven 2的使用方法和核心概念。Maven 2是一个强大的构建工具,尤其在处理大型、多模块的Java项目时,能够简化构建过程和依赖管理。在现代软件...

    maven2 的eclipse插件

    maven2的eclipse插件 for eclipse 3.5+。 插件安装时,我们只需在eclipse根目录下新建一个【links】目录,然后在里面创建【.link】扩展名的文件,在里面写上类似于【path=F:\\IDE\\eclipsePlugin\\maven2】这样的...

    maven2 (maven2的免安装程序,非插件)

    Maven2 是一个强大的项目管理和构建工具,它主要应用于Java开发领域,尤其在Web开发中扮演着重要角色。Maven通过自动化构建过程,包括编译、测试、打包、部署等步骤,大大简化了项目的管理工作。与Eclipse中的Maven...

    Maven2资源和配置下载

    本篇文章将深入探讨"Maven2资源和配置下载"的主题,以及如何在MyEclipse环境中搭建私有仓库(私服)来管理和分发Maven文件。 首先,Maven2是Apache软件基金会开发的一款构建工具,它通过XML格式的POM(Project ...

    maven 3.5.2 maven 3.5.2 maven 3.5.2

    2. **坐标**: Maven使用一组唯一的标识来定位项目,包括groupId、artifactId和version,这三者共同构成了一个项目的坐标。 3. **依赖管理**: Maven通过POM自动管理项目的依赖关系,可以避免jar地狱问题,减少手动...

    maven2maven3eclipse通用版本插件

    支持maven2 maven3 通用版本eclipse插件,在maven官网下载apache-maven-3.2.1-bin.zip,解压插件压缩包到path=D:\m2e-0.12.0.20101115-1102 在eclipse新建links文件夹,新建文件maven23.link,内容为:path=D:/m2e-...

    Maven3.6.3安装与配置以及IDEA2022.2.3部署Maven的教程

    通过上述步骤,您可以顺利地在本地环境中安装和配置 Maven 3.6.3,并将其集成到 IntelliJ IDEA 2022.2.3 中。这为自动化构建和管理 Java 项目的依赖提供了强大的支持。Maven 通过统一的生命周期模型、插件机制以及对...

    Apache Maven 2 Effective Implementation

    ### Apache Maven 2 有效实施知识点详解 #### 一、Apache Maven 2 概述 Apache Maven 是一个项目管理和理解工具。它包含了构建过程(build process)、软件项目信息和最佳实践指南。Maven 的主要目标是让构建过程...

    apache-maven-3.6.0_apache-maven-3.6.0_maven压缩包_maven3.6.0下载_

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和文档。Maven 3.6.0是该工具的一个稳定版本,提供了许多改进...

    开源工具Maven3.9.4版本压缩包

    Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...

    maven2 jar包

    maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包 maven2 jar包

    Maven全版本资源,Maven 3.0.5-3.8.5,每个版本包含4个文件,Maven3全资源打包下载,Maven全集

    apache-maven-3.0.5 apache-maven-3.1.1 apache-maven-3.2.5 apache-maven-3.3.9 apache-maven-3.5.4 apache-maven-3.6.3 apache-maven-3.8.5 每个版本包含4个文件: apache-maven-3.8.5-bin.tar.gz apache-maven-...

    Mac的maven安装包apache-maven-3.6.3.zip

    对于搭载M1芯片的MacBook,由于其架构变化,可能需要确保使用的是支持Apple Silicon的Maven版本,或者使用Rosetta 2转译来运行Intel版本的Maven。 通过以上步骤,你可以在Mac上成功安装和配置Apache Maven 3.6.3,...

    maven2之m2eclipse使用手册

    maven2之m2eclipse使用手册.doc

    Windoiws的maven3.8.8

    2. **设置环境变量**: - **Maven_HOME**:在系统环境变量中新建一个名为`Maven_HOME`的变量,将其值设置为解压后的Maven目录路径,如`C:\Program Files\apache-maven-3.8.8`。 - **Path**:在用户或系统环境变量...

    maven之开源中国Maven库

    【标题】"maven之开源中国Maven库" 指的是使用 Maven,一个流行的Java项目管理和集成工具,与开源中国的Maven仓库进行交互。开源中国Maven库是中国的一个开源软件资源平台,提供了大量的开源Java库,使得开发者可以...

    apache-maven-3.6.2_maven_

    Apache Maven 是一个强大的项目管理和构建工具,主要用于Java项目。它基于项目对象模型(Project Object Model,POM)的概念,能够管理项目的构建、报告和依赖关系。Maven 的核心理念是通过标准化的构建生命周期和...

    maven3.1、maven3.2安装包、源码及eclipse整合插件

    Eclipse作为一款流行的Java IDE,提供了与Maven集成的插件,名为M2E (Maven Integration for Eclipse)。该插件使得开发者在Eclipse中可以直接管理Maven项目,包括构建、编译、测试、打包等。安装M2E插件后,Eclipse...

Global site tag (gtag.js) - Google Analytics