maven

转载 2016年08月29日 12:40:03


在持续集成服务器上使用怎样的 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://repo2.maven.org/maven2/

Maven依赖查询:

http://mvnrepository.com/

Maven常用命令: 
1. 创建Maven的普通java项目: 
   mvn archetype:create 
   -DgroupId=packageName 
   -DartifactId=projectName  
2. 创建Maven的Web项目:   
    mvn archetype:create 
    -DgroupId=packageName    
    -DartifactId=webappName 
    -DarchetypeArtifactId=maven-archetype-webapp    
3. 编译源代码: mvn compile 
4. 编译测试代码:mvn test-compile    
5. 运行测试:mvn test   
6. 产生site:mvn site   
7. 打包:mvn package   
8. 在本地Repository中安装jar:mvn install 
9. 清除产生的项目:mvn clean   
10. 生成eclipse项目:mvn eclipse:eclipse  
11. 生成idea项目:mvn idea:idea  
12. 组合使用goal命令,如只打包不测试:mvn -Dtest package   
13. 编译测试的内容:mvn test-compile  
14. 只打jar包: mvn jar:jar  
15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile 
      ( -skipping 的灵活运用,当然也可以用于其他组合命令)  
16. 清除eclipse的一些系统设置:mvn eclipse:clean  

ps: 

一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。 

mvn -version/-v  显示版本信息 
mvn archetype:generate        创建mvn项目 
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app   创建mvn项目 

mvn package            生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 
mvn jetty:run            运行项目于jetty上, 
mvn compile                    编译 
mvn test                    编译并测试 
mvn clean                    清空生成的文件 
mvn site                    生成项目相关信息的网站 
mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp插件的Web项目 
mvn -Dwtpversion=1.0 eclipse:clean        清除Eclipse项目的配置信息(Web项目) 
mvn eclipse:eclipse                将项目转化为Eclipse项目 


Maven真的有那么好吗

http://1.1lifes.sinaapp.com/?p=202 之前一直听说maven的大名,直到它后来者居上,但因为工作环境,一直没有使用过maven,对它的很多功能都很期待...
  • yq76034150
  • yq76034150
  • 2012年01月03日 16:49
  • 6836

Maven学习(十八)-- Maven最佳实践:版本管理

找到了一篇博客,很多啊,是讲Maven中的版本管理的,很好,分享一下, 原文作者:juvenshun 原文地址:http://juvenshun.iteye.com/blog/...
  • m261030956
  • m261030956
  • 2015年06月13日 12:57
  • 655

百度云推送集成之Maven方式

现在自己的产品没有推送功能都不好意思出门啊! 前段时间做推送需求的时候,经过几轮测试最后敲定的用百度云推送。 百度云推送集成非常方便,端上大概半天不到就搞定了,官网给的教程非常给力,详细而又全面。...
  • puyuanbo
  • puyuanbo
  • 2016年01月06日 20:01
  • 3380

Maven详解之------maven版本管理

使用Maven进行项目的版本管理,以及注意事项
  • wanghantong
  • wanghantong
  • 2014年11月18日 00:10
  • 48292

Java实现BASE64编解码 maven

Java语言提供了一个非常好的BASE64算法的实现,即Apache Commons Codec工具包,其MAVEN配置...
  • uniom
  • uniom
  • 2016年12月14日 14:26
  • 5088

win7、win10环境下的maven的环境变量配置

(一)win7   maven环境变量配置 第一步:http://maven.apache.org/download.cgi官网下载 第二步:把压缩包解压缩到不含中文和空格的目录下 第三...
  • god_is_bo
  • god_is_bo
  • 2016年10月12日 22:16
  • 5634

【Maven】IKAnalyzer 在Maven Repository不存在

1、在mvnrepository里面找IKAnalyzer,这个中文分词包,一直没有找到,找到github,发现是一个国人写的, http://mvnrepository.com/search?q=...
  • Dracotianlong
  • Dracotianlong
  • 2015年07月17日 19:06
  • 18500

Maven详解之聚合与继承

Maven的聚合与继承,如何在项目中正确的使用聚合与继承,来提高项目的可读性和可用性。如何做到项目的依赖管理和插件的正确管理?...
  • wanghantong
  • wanghantong
  • 2014年08月07日 23:06
  • 64020

使用IntelliJ IDEA 配置Maven(入门)

1. 下载Maven 官方地址:http://maven.apache.org/download.cgi解压并新建一个本地仓库文件夹 2.配置本地仓库路径 3.配置maven环境变量 ...
  • qq_32588349
  • qq_32588349
  • 2016年05月20日 13:56
  • 276492

微信公众号-Maven开源导入IDE

微信开发交流群:148540125欢迎留言、转发 项目源码参考地址 点我点我–欢迎Start本文将学习到: 1、Eclipse、Intellij IDEA clone项目 2、Intellij ...
  • zyw_java
  • zyw_java
  • 2017年03月11日 12:21
  • 4281
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:maven
举报原因:
原因补充:

(最多只允许输入30个字)