在持续集成服务器上使用怎样的 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项目可以集成更多的自定义操作,比如运行特定的脚本、调用系统命令等。本文将详细介绍exec-maven-plugin的用途、配置方法以及实际应用案例。 exec-maven-plugin是一个灵活且功能丰富的Maven插件,它极大...
Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-plugin 来实现 Maven 项目与 Tomcat 服务器的集成。下面我们将详细介绍如何使用 tomcat8-maven-plugin 插件。 tomcat8-maven-plugin 插件的...
本文将详细讨论如何将Jetty与Maven进行集成,并介绍关键的`maven-jetty-plugin`插件及其不同版本。 1. Maven与Jetty集成的意义: Maven通过其强大的依赖管理功能,使得项目构建变得简单和规范。而Jetty作为轻量级...
apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...
maven-deploy-plugin-2.8.2.jar
每个阶段都可以通过特定的插件来执行,例如,`maven-compiler-plugin`用于编译源代码,`maven-surefire-plugin`负责运行单元测试。Maven通过使用Project Object Model (POM)文件来描述项目信息,包括依赖、构建配置...
解决tomcat8-maven-plugin-3.0-r1655215.jar阿里云同有的问题。放到路径org\apache\tomcat\maven\tomcat8-maven-plugin\3.0-r1655215\就可以了
maven-aether-provider-3.2.1-sources.jar maven-antrun-plugin-1.3.jar maven-archiver-2.2.jar maven-artifact-3.2.1-sources.jar maven-assembly-plugin-2.2-beta-5.jar maven-bundle-plugin-1.0.0.jar maven-...
- 解压后,你会得到一个名为“apache-maven-3.8.1”的文件夹,这个就是Maven的安装目录。 **3. 设置环境变量** 为了使Maven在命令行中可直接使用,需要设置两个环境变量: - `M2_HOME`:指向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-...
maven-jar-plugin-3.1.1.jar
maven-surefire-plugin-2.22.1.jar
`maven-archetype-quickstart-1.1.jar` 是一个Maven的快速启动 archetype 包,专门用于帮助开发者快速创建一个新的Maven项目结构。在这个压缩包中,你将找到一个预设的Java项目模板,以便于你能够迅速地开始编码。 ...
maven-site-plugin-3.3.jar
这两个压缩包,“apache-maven-3.5.4-bin”和“apache-maven-3.3.9-bin”,分别代表了Maven的两个不同版本。 1. **Maven 3.5.4**: Maven 3.5.4是Maven的一个稳定版本,发布于2018年。这个版本包含了多项改进和...
2. **添加Maven到PATH**: 将Apache Maven-3.8.1的`bin`目录路径添加到系统环境变量`PATH`中,这样命令行可以识别`mvn`命令。 3. **配置settings.xml**: Maven的配置文件`settings.xml`通常位于`用户主目录\.m2\`下...
maven-deploy-plugin-2.7.jar
maven-assembly-plugin-2.2-beta-5.jar
maven-install-plugin-2.4.jar
Maven的插件系统也是其强大之处,通过安装额外的插件,可以支持更多的构建任务,如生成源码文档(javadoc)、执行单元测试(maven-surefire-plugin)、打包成不同格式(如JAR、WAR或EAR)等。 "linux版本maven"指的...