maven项目的构建命令
在持续集成服务器上使用怎样的 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项目的构建命令相关推荐
- GitChat · 软件工程 | 一小时教你学会 Maven 项目的构建与管理
GitChat 作者:梁鹏举 原文: 一小时教你学会 Maven 项目的构建与管理 关注公众号:GitChat 技术杂谈,一本正经的讲技术 Maven翻译成中文是"专家.内行".M ...
- (八)Eclipse创建Maven项目运行mvn命令
1.Eclipse创建Maven项目 使用Eclipse创建一个Maven项目非常的简单,选择菜单项File>New>Other(也可以在项目结构空白处右击鼠标键),在弹出的对话框中选择M ...
- Maven常用的构建命令
Maven常用命令: Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ 一,Maven常用命令: ...
- m2eclipse简单使用,创建Maven项目 ,运行mvn命令(转)
前面介绍了如何安装m2eclipse,现在,我们使用m2ecilpse导入Hello World项目. 选择菜单项File,然后选择Import,我们会看到一个Import对话框,在该对话框中选择Ge ...
- Maven 项目自动构建 Docker 镜像推送到 Docker 服务器
Docker 安装 这里安装环境为 Centos7 # 安装依赖 $ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm ...
- 使用MyEclipse构建MAVEN项目 - 我的漫漫程序之旅 - BlogJava
使用MyEclipse构建MAVEN项目 - 我的漫漫程序之旅 - BlogJava这里用的是MyEclpise的自带的MAVEN插件. Maven最好配置成你自己安装的那个,MyEclipse自带会 ...
- (Windows Maven项目)Redis数据库的安装和操作实现
Redis是一个内存数据库,他会把你写入其中的数据缓存到内存中,之后会周期性的往磁盘中写入,这篇文章中介绍的是在Windows环境下利用Maven工具编译运行Java文件实现Redis数据库的操作. ...
- Jenkins构建maven项目不执行测试用例的命令
在Jenkins构建项目的时候,有时候执行大量的单元测试用例需要浪费很多时间,为了更快速的构建,可在build选项中使用一下命令不执行单元测试用例 ·Root POM:pom.xml(maven项目的 ...
- Maven实战(三)Eclipse构建Maven项目
2019独角兽企业重金招聘Python工程师标准>>> 1. 安装m2eclipse插件 要用Eclipse构建Maven项目,我们需要先安装meeclipse插件 ...
最新文章
- 他211本硕毕业,一边是年薪15万国企送北京户口,一边是28万大厂offer,究竟该怎么选?...
- C++控制台读取和输出函数
- android内容显示不出来,android – listview不显示任何内容并隐藏数据
- mybaits 字段设置null_为什么阿里巴巴禁止开发人员修改serialVersionUID 字段的值
- php申请证书,用phpstudy来申请SSL证书
- vscode 设置断点知乎_vscode 代码自动换行设置
- oracle输出xml文件格式,在oracle中通过字段信息生成xml文件
- Oracle bigfile 大文件表空间会影响rman等备份效率
- ThreadLocal不仅要应付面试,更要真的理解,真的会用
- TikTok玩法攻略总结,从输出内容再到变现,结尾送干货!
- Ajax不起作用....
- pp助手苹果版_PP助手下线iOS版,曾首发iOS 9完美越狱工具,再见~
- GJB 测试报告(模板)
- python生成序列_python 之 生成序列号
- CES Asia展华为秀肌肉,布局智能互联生态
- apache服务器设置
- 第一阶段冲刺 eighth day
- 【SV中local::的用法】
- 在Ubuntu下从Python连接到Microsoft SQL Server数据库
- enable 华为交换机ntdp_华为交换机设置
热门文章
- 《 线性代数及其应用 (原书第4版)》—— 2.3 可逆矩阵的特征
- 浅谈RxJava与2.0的新特性
- 关于appcan自动升级功能
- Centos下用lamp搭建日志服务器
- poj 2777 Count Color
- [铁道部信息化管理]号外
- 通过Corosync实现Mysql高可用,以及LVS+ldirectord高可用并状态检测
- cpio/rpm2cpio 命令
- ASP.NET Core 实战:基于 Dapper 扩展你的数据访问方法
- 【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用