maven的学习心得

已经接触了maven项目有一段时间了,开始时仅仅会使用,在使用中发现了它的强大和方便,于是决心研究一下:

首先,普及一下maven参数:

  1. -D:传入属性参数
  2. -P:使用POM中指定的配置
  3. -e:显示maven运行时的出错信息
  4. -o:离线执行命令,即不从远程仓库下载jar包
  5. -X:显示maven允许的debug信息
  6. -U:强制去远程更新snapshot包

其次,用maven命令创建项目:

  1. 创建普通maven的java项目:mvn archetype:create  -DgroupId=packageName -DartifactId=projectName
  2. 创建maven的web项目:mvn archetype:create -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifaceId=maven-archetype-webapp
  3. 也可用generate命令根据提示创建maven项目:mvn archetype:generate

再次,maven生命周期相关命令:

mvn compile :编译源代码

mvn test-compile:编译测试代码

mvn test:运行测试

mvn site:产生site

mvn package:打包

mvn install:将本地的Repository安装jar包

mvn clean:清除产生的项目

mvn eclipse:eclipse:生成eclipse项目

mvn idea:idea:生成idea项目

mvn -Dtest package:组合使用goal命令,如打包不测试

mvn test-compile:编译测试的内容

mvn jar:jar:只打jar包

mvn test -skipping compile -skipping test-compile:只测试而不编译,也不测试编译

mvn eclipse:clean:清除eclipse的一些系统设置

其他相关命令:

1. mvn help:describe

你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的.参数: 1. -Dplugin=pluginName   2. -Dgoal(或-Dmojo)=goalName:与-Dplugin一起使用,它会列出某个插件的goal信息,如果嫌不够详细,同样可以加-Ddetail.(注:一个插件goal也被认为是一个 “Mojo”) 如运行mvn help:describe -Dplugin=help -Dmojo=describe

2. mvn tomcat:run

用了maven后,你再也不需要用eclipse里的tomcat来运行web项目(实际工作中经常会发现用它会出现不同步更新的情况),只需在对应目录里运行 mvn tomat:run命令,然后就可在浏览器里运行查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置:org.codehaus.mojo  tomcat-maven-plugin  /web  当然你也可以在命令里加参数来实现特定的功能,下面几个比较常用:

1. 跳过测试:-Dmaven.test.skip(=true)

2. 指定端口:-Dmaven.tomcat.port=9090

3. 忽略测试失败:-Dmaven.test.failure.ignore=true 当然,如果你的其它关联项目有过更新的话,一定要在项目根目录下运行mvn clean install来执行更新,再运行mvn tomcat:run使改动生效.

  3. mvnDebug tomcat:run

  这条命令主要用来远程测试,它会监听远程测试用的8000端口,在eclipse里打开远程测试后,它就会跑起来了,设断点,调试,一切都是这么简单.上面提到的那几个参数在这里同样用.

  4. mvn dependency:sources

  有了它,你就不用到处找源码了,运行一下,你项目里所依赖的jar包的源码就都有了

最新文章

  1. 【Java每日一题】20161227
  2. [Python核心编程] 第1章 欢迎来到Python世界
  3. Quartz2D简介
  4. Linux-文件和目录操作命令
  5. TP框架常用配置
  6. 修复sublime text系统右键菜单
  7. redis常用操作总结
  8. List转换DataTable
  9. angular ng-href
  10. [SAP ABAP开发技术总结]物料、生产、采购、销售长文本
  11. 怎样对ListView的项进行排序
  12. Unity3d Fast Indirect illumination Using Two Virtual Spherical Gaussian Lights-Square Enix论文
  13. [Unix.C]文件I/O
  14. iOS 8 Metal Swift教程(一) :开始学习
  15. 逃出克隆岛 (codevs 2059)
  16. 简介CentOS与 Ubuntu的不同
  17. boost::bad_weak_ptr的原因
  18. 史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!
  19. windows 搭建 angular2 开发环境--白纸新手可以参考一下
  20. 转载用sql语句计算出mysql数据库的qps,tps,iops性能指标

热门文章

  1. Linux下用freetds连接mssql中文乱码的问题【参考2】
  2. jquery $.trim()方法使用介绍
  3. (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出
  4. Tomcat7出现HTTP Status 500 - java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl
  5. equals()源代码及释义
  6. 杀死进程 kill -9
  7. OpenDaylight之openflowjava的编译
  8. 打造自己的3D全景漫游
  9. 【转】Class.forName()用法详解
  10. 如何学好PHP