`
netment
  • 浏览: 58277 次
文章分类
社区版块
存档分类
最新评论

用Maven作为构建(build)系统需要注意的一点

阅读更多
     Maven的插件机制使得其非常灵活,自己只是定义一个标准的构建流程,具体某个构建流程需要做的事情都扔给插件去做,而且在默认情况下插件会自动去更新自己,因为maven的命令时通过这种方式来执行的mvn groupID:artifactID:version:goal 也就是说如果我没有指定版本的话,Maven会自动去使用最新的版本。

        在构建成熟的项目构建系统中,这个自动更新很可能会带来问题,因为插件自动更新以为着你对Maven的插件没有绝对的控制,任何一个插件出现了问题都可能导致你整个自动构建流程失败。要避免出现引发问题的风险,有以下几种方法:

1,在执行所有Maven命令时增加--no-plugin-updates 这个参数。这会让Maven不会去更新已有的插件。

2,在本地的私服进行拦截,既是把Maven的依赖都在私服中控制,最后通过控制私服的更新策略来控制。

3。在Maven的设置文件中增加设置,然后通过plugin-registry.xml文件来指定插件的版本。感觉maven不是很推荐这种做法,因为其认为控制插件的版本信息不应该这样这样来放置。

    不定期的自动更新对一个成熟构建系统来说不是一件什么好事,要维持构建系统的健壮性你需要一个专门的人来关键这些更新,不出问题还好,万一出现了问题可能最终会导致软件包不能delivered on time。
分享到:
评论
1 楼 心无旁骛 2007-08-13  
maven 有一种offline机制,可以不连internet,但是连本地localhost都不会去连了

相关推荐

    maven 3.8.8 解压安装版

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    maven-buildtime-profiler:Maven构建时间分析器

    如果您想将此EventSpy与Maven 3.1.1+一起使用到Maven 3.2.5,则需要从Maven Central手动下载它,并将生成的jar文件放入${M2_HOME}/lib/ext目录中,或者如果您想使用直接在命令行中添加以下参数: mvn -Dmaven.ext....

    apache-maven-3.8.5

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    incr-build-plugin:Maven的增量构建

    Maven的增量构建 如果未检测到更改,此Maven扩展可以跳过模块的整个执行。 重要限制和假设 需要Maven 3.1.2+ incr-build并不关心Maven生命周期阶段。 它在mvn clean和mvn validate之间没有区别。 这使得incr-build...

    apache-maven-3.6.zip

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    apache-maven-3.5.4.zip

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    apache-maven-3.5.0.zip

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    MAVEN 快速教程.pdf

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    apache-maven-3.6.2.rar

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    Maven2之旅 构建项目 文档编制

    自从Java诞生以来,打包,测试,代码检测和发布Java工程就成为困扰Java程序员的枷锁,即使Ant出现,程序员深受困扰,而且Ant的 Xml格式的Build文件的学习阶梯又给程序员加重了一层负担.程序员头顶上的天空依然阴霾,只到有...

    maven入门到精通

    在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个项目结构和 build.xml相差很大等等。...

    maven-build-scanner:了解您的构建-这样您可以使其更快

    Maven构建扫描器了解您的构建-这样可以使其更快什么是Maven Build扫描仪? Maven Build Scanner是一个可以连接到Maven生成并生成报告和图表的工具,可以分解Maven花费的时间。 这些报告提供了对您的构建的见解,可...

    build_assist:一个用git和maven自动构建项目的工具

    build_assist 一个用git和maven自动构建项目的工具如何使用使用命令node server/index运行服务器用浏览器访问http://localhost:8787/find 输入工程目录,点击“查看”。 它将列出目录下所有带有 git branch 的模块。...

    timely-build:为Maven构建性能分析插件

    及时建立 为Maven构建性能分析插件 Travis CI状态:

    apache-maven-3.3.9.rar

    由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在...

    build-helper-maven-plugin:构建助手Maven插件

    MojoHaus Build Helper Maven插件 这是包含服务器目标,以支持您执行各种任务,例如解析版本信息,向Maven项目添加补充源/测试文件夹或附加补充工件。 有关更多详细信息,请参见。发行确保gpg-agent正在运行。 执行...

    Maven2 的新特性.7z

    Maven 无疑是相当成功的,这一点从越来越多的开源项目开始使用 Maven 就可以看出。Maven 取得成功的原因很简单:在简化构建脚本的同时,功能并没有缩水,反而有所增强;提供汇集项目信息的工具,并以相当友好的方式...

    xtext-standalone-maven-build:Xtext独立的maven构建,不带Eclipse

    xtext-standalone-maven-build:Xtext独立的maven构建,不带Eclipse

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...

    Maven构建全注解零XML带测试SSM整合步骤说明

    全注解零配置的Spring+SpringMVC+Mybatis...项目采用Maven构建,数据库采用Mysql,工具是Eclipse,测试为Run as Junit,不是使用Maven Test 。运行使用Maven Build。 如需要可运行的示例,请下载本人上传的另一个资源。

Global site tag (gtag.js) - Google Analytics