北京网站优化指导,宁波网站推广公司报价,公司官网改版方案,kalium wordpressmaven -U clean compile install -e -X -Dmaven.test.skiptrue 在持续集成服务器上使用怎样的 mvn 命令集成项目#xff0c;这个问题乍一看答案很显然#xff0c;不就是 mvn clean install 么#xff1f;事实上比较好的集成命令会稍微复杂些#xff0c;下面是一些总结… maven -U clean compile install -e -X -Dmaven.test.skiptrue 在持续集成服务器上使用怎样的 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.localxxx 。此外定期清理持续集成服务器的本地Maven仓库也是个很好的习惯这样可以避免浪费磁盘资源几乎所有的持续集成服务器软件都支持本地的脚本任务你可以写一行简单的shell或bat脚本然后配置以天为单位自动清理仓库。需要注意的是这么做的前提是你有私有Maven仓库否则每次都从Internet下载所有依赖会是一场噩梦。 项目开发需要有多个环境一般为开发测试预发正式4个环境通过maven可以实现按不同环境进行打包部署命令为: mvn package -P dev 其中“dev“为环境的变量id, 可以自己定义 我定义的名称为dev,qa,pre,prod , 具体在pom.xml中的配置如下 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ...... profiles profile iddev/id properties envdev/env /properties activation activeByDefaulttrue/activeByDefault /activation /profile profile idqa/id properties envqa/env /properties /profile profile idpre/id properties envpre/env /properties /profile profile idprod/id properties envprod/env /properties /profile /profiles ...... build filters filterconfig/${env}.properties/filter /filters resources resource directorysrc/main/resources/directory filteringtrue/filtering /resource /resources ...... /build /project 1.profiles定义了各个环境的变量id 2.filters中定义了变量配置文件的地址其中地址中的环境变量就是上面profile中定义的值 3.resources中是定义哪些目录下的文件会被配置文件中定义的变量替换一般我们会把项目的配置文件放在src/main/resources下像db,bean等里面用到的变量在打包时就会根据filter中的变量配置替换成固定值 参照如下博客URL http://www.cnblogs.com/cfrost/p/5491291.html http://blog.csdn.net/wuxinzaiyu/article/details/8524274 https://www.jianshu.com/p/7e94b7de21a9 转载于:https://www.cnblogs.com/xd502djj/p/11066785.html