maven学习心得整理
maven的学习心得
已经接触了maven项目有一段时间了,开始时仅仅会使用,在使用中发现了它的强大和方便,于是决心研究一下:
首先,普及一下maven参数:
- -D:传入属性参数
- -P:使用POM中指定的配置
- -e:显示maven运行时的出错信息
- -o:离线执行命令,即不从远程仓库下载jar包
- -X:显示maven允许的debug信息
- -U:强制去远程更新snapshot包
其次,用maven命令创建项目:
- 创建普通maven的java项目:mvn archetype:create -DgroupId=packageName -DartifactId=projectName
- 创建maven的web项目:mvn archetype:create -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifaceId=maven-archetype-webapp
- 也可用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包的源码就都有了
最新文章
- 【Java每日一题】20161227
- [Python核心编程] 第1章 欢迎来到Python世界
- Quartz2D简介
- Linux-文件和目录操作命令
- TP框架常用配置
- 修复sublime text系统右键菜单
- redis常用操作总结
- List转换DataTable
- angular ng-href
- [SAP ABAP开发技术总结]物料、生产、采购、销售长文本
- 怎样对ListView的项进行排序
- Unity3d Fast Indirect illumination Using Two Virtual Spherical Gaussian Lights-Square Enix论文
- [Unix.C]文件I/O
- iOS 8 Metal Swift教程(一) :开始学习
- 逃出克隆岛 (codevs 2059)
- 简介CentOS与 Ubuntu的不同
- boost::bad_weak_ptr的原因
- 史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!
- windows 搭建 angular2 开发环境--白纸新手可以参考一下
- 转载用sql语句计算出mysql数据库的qps,tps,iops性能指标
热门文章
- Linux下用freetds连接mssql中文乱码的问题【参考2】
- jquery $.trim()方法使用介绍
- (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出
- Tomcat7出现HTTP Status 500 - java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl
- equals()源代码及释义
- 杀死进程 kill -9
- OpenDaylight之openflowjava的编译
- 打造自己的3D全景漫游
- 【转】Class.forName()用法详解
- 如何学好PHP