在持续集成服务器上使用怎样的 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/这样的参数为每个任务分配本地仓库。-D设置参数

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

  • clean package -U -Dmaven.test.skip=true -Ptesting  //maven项目构建的时候打包地址不同,一般有开发环境dev,测试环境test,预览环境preview,生产环境release
  • -P的意义参考链接:http://www.cnblogs.com/EasonJim/p/6828743.html(激活配置文件)
  • 关于maven的相关知识参考链接:https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_build_profiles.html

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

使用maven编译,清理,测试,打包,部署项目

1)编译 mvn compile   会生产一个target文件,target下面有一个classes文件夹存放的是我们编译好的类

2)清理  mvn clean   把编译时生产的target文件夹删掉

3)测试  mvn test   生产的target下面有一个classes和test-classes,maven先帮我们编译项目,然后在执行测试代码

4)打包 mvn package target下面多了一个.jar文件

5)部署 mvn install target下面会有一个.jar文件,使用"mvn install"命令,就把maven构建项目的【清理】→【编译】→【测试】→【打包】的这几个过程都做了,同时将打包好的jar包发布到本地的Maven仓库中,所以maven最常用的命令还是"mvn install",这个命令能够做的事情最多

组合命令的使用:

mvn clean compile //先删除在编译

mvn clean package //先删除在打包

mvn clean install //先删除在部署

mvn clean test //先删除在测试

转载于:https://www.cnblogs.com/pcy226/p/9845412.html

maven项目的构建命令相关推荐

  1. GitChat · 软件工程 | 一小时教你学会 Maven 项目的构建与管理

    GitChat 作者:梁鹏举 原文: 一小时教你学会 Maven 项目的构建与管理 关注公众号:GitChat 技术杂谈,一本正经的讲技术 Maven翻译成中文是"专家.内行".M ...

  2. (八)Eclipse创建Maven项目运行mvn命令

    1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...

  3. Maven常用的构建命令

    Maven常用命令: Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ 一,Maven常用命令: ...

  4. m2eclipse简单使用,创建Maven项目 ,运行mvn命令(转)

    前面介绍了如何安装m2eclipse,现在,我们使用m2ecilpse导入Hello World项目. 选择菜单项File,然后选择Import,我们会看到一个Import对话框,在该对话框中选择Ge ...

  5. Maven 项目自动构建 Docker 镜像推送到 Docker 服务器

    Docker 安装 这里安装环境为 Centos7 # 安装依赖 $ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm ...

  6. 使用MyEclipse构建MAVEN项目 - 我的漫漫程序之旅 - BlogJava

    使用MyEclipse构建MAVEN项目 - 我的漫漫程序之旅 - BlogJava这里用的是MyEclpise的自带的MAVEN插件. Maven最好配置成你自己安装的那个,MyEclipse自带会 ...

  7. (Windows Maven项目)Redis数据库的安装和操作实现

    Redis是一个内存数据库,他会把你写入其中的数据缓存到内存中,之后会周期性的往磁盘中写入,这篇文章中介绍的是在Windows环境下利用Maven工具编译运行Java文件实现Redis数据库的操作. ...

  8. Jenkins构建maven项目不执行测试用例的命令

    在Jenkins构建项目的时候,有时候执行大量的单元测试用例需要浪费很多时间,为了更快速的构建,可在build选项中使用一下命令不执行单元测试用例 ·Root POM:pom.xml(maven项目的 ...

  9. Maven实战(三)Eclipse构建Maven项目

    2019独角兽企业重金招聘Python工程师标准>>> 1. 安装m2eclipse插件     要用Eclipse构建Maven项目,我们需要先安装meeclipse插件     ...

最新文章

  1. 他211本硕毕业,一边是年薪15万国企送北京户口,一边是28万大厂offer,究竟该怎么选?...
  2. C++控制台读取和输出函数
  3. android内容显示不出来,android – listview不显示任何内容并隐藏数据
  4. mybaits 字段设置null_为什么阿里巴巴禁止开发人员修改serialVersionUID 字段的值
  5. php申请证书,用phpstudy来申请SSL证书
  6. vscode 设置断点知乎_vscode 代码自动换行设置
  7. oracle输出xml文件格式,在oracle中通过字段信息生成xml文件
  8. Oracle bigfile 大文件表空间会影响rman等备份效率
  9. ThreadLocal不仅要应付面试,更要真的理解,真的会用
  10. TikTok玩法攻略总结,从输出内容再到变现,结尾送干货!
  11. Ajax不起作用....
  12. pp助手苹果版_PP助手下线iOS版,曾首发iOS 9完美越狱工具,再见~
  13. GJB 测试报告(模板)
  14. python生成序列_python 之 生成序列号
  15. CES Asia展华为秀肌肉,布局智能互联生态
  16. apache服务器设置
  17. 第一阶段冲刺 eighth day
  18. 【SV中local::的用法】
  19. 在Ubuntu下从Python连接到Microsoft SQL Server数据库
  20. enable 华为交换机ntdp_华为交换机设置

热门文章

  1. 《 线性代数及其应用 (原书第4版)》—— 2.3 可逆矩阵的特征
  2. 浅谈RxJava与2.0的新特性
  3. 关于appcan自动升级功能
  4. Centos下用lamp搭建日志服务器
  5. poj 2777 Count Color
  6. [铁道部信息化管理]号外
  7. 通过Corosync实现Mysql高可用,以及LVS+ldirectord高可用并状态检测
  8. cpio/rpm2cpio 命令
  9. ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法
  10. 【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用