阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Maven正确的集成命令-U -B 等

137次阅读
没有评论

共计 1084 个字符,预计需要花费 3 分钟才能阅读完成。

在持续集成服务器上使用怎样的 mvn 命令集成项目,这个问题乍一看答案很显然,不就是 mvn clean install 么?事实上比较好的集成命令会稍微复杂些,下面是一些总结:

不要忘了 clean:clean 能够保证上一次构建的输出不会影响到本次构建。

使用 deploy 而不是 install:构建的 SNAPSHOT 输出应当被自动部署到私有 Maven 仓库供他人使用,这一点在前面已经详细论述。

使用 - U 参数:该参数能强制让 Maven 检查所有 SNAPSHOT 依赖更新,确保集成基于最新的状态,如果没有该参数,Maven 默认以天为单位检查更新,而持续集成的频率应该比这高很多。

使用 - e 参数:如果构建出现异常,该参数能让 Maven 打印完整的 stack trace,以方便分析错误原因。

使用 -Dmaven.repo.local 参数:如果持续集成服务器有很多任务,每个任务都会使用本地仓库,下载依赖至本地仓库,为了避免这种多线程使用本地仓库可能会引起的冲突,可以使用 -Dmaven.repo.local=/home/juven/ci/foo-repo/ 这样的参数为每个任务分配本地仓库。

使用 - B 参数:该参数表示让 Maven 使用批处理模式构建项目,能够避免一些需要人工参与交互而造成的挂起状态。

综上,持续集成服务器上的集成命令应该为 mvn clean deploy -B -e -U -Dmaven.repo.local=xxx。此外,定期清理持续集成服务器的本地 Maven 仓库也是个很好的习惯,这样可以避免浪费磁盘资源,几乎所有的持续集成服务器软件都支持本地的脚本任务,你可以写一行简单的 shell 或 bat 脚本,然后配置以天为单位自动清理仓库。需要注意的是,这么做的前提是你有私有 Maven 仓库,否则每次都从 Internet 下载所有依赖会是一场噩梦。

Maven 构建过程详解 http://www.linuxidc.com/Linux/2016-03/129432.htm

利用 GitHub 搭建个人 Maven 仓库 http://www.linuxidc.com/Linux/2016-04/130197.htm

使用 Maven 在 NetBeans 下构建 Wicket 项目 http://www.linuxidc.com/Linux/2016-04/130070.htm

《Maven 实战》:Maven 实战教程 PDF http://www.linuxidc.com/Linux/2014-12/110503.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-05/131366.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1084字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中