mvn常用指令记录
maven工程版本号更新:
---------------------------------------------------------------------------------------------------------
升级maven工程及子模块的版本号
解决办法:先把parent project更新到指定version,然后再更新子模块,让其与父模块的版本号保持一致:
- mvn versions:set -DnewVersion=1.0.1-SNAPSHOT
- mvn -N versions:update-child-modules
- 执行后maven会将pom.xml保留一个备份:pom.xm.versionsBackup
- 确认升级版本无问题后,执行mvn versions:commit 确认升级,去掉备份的pom.xml.versionsBackup
---------------------------------------------------------------------------------------------------------
在根目录下统一修改版本号:
把父模块更新到指定版本号,然后更新子模块,与父模块有相同的版本号
mvn versions:set -DnewVersion=1.0.1-SNAPSHOT 和 mvn -N versions:update-child-modules
注意,如果子模块的版本号已经与父模块不一致,则先运行后面一条命令统一,在更新父模块版本。
清理项目生产的临时文件,一般是模块下的target目录
测试命令,或执行src/test/java/下junit的测试用例.
将打包的的jar/war文件复制到你的本地仓库中,供其他模块使用
跳过测试(同时会跳过test compile)
mvn eclipse:eclipse
生成eclipse配置文件,导入到eclipse开发,如果是使用m2eclipse插件,则可以不用此命令.直接使用插件导入到eclipse进行开发
注:通过次命令生产的项目,需要在eclipse中配置M2_REPO的命令,指向你的本地仓库文件夹.
mvn eclipse:m2eclipse
生成eclipse配置文件,该配置文件需依赖eclipse 中有m2eclipse
-DdownloadSources=true 下载依赖包的源码文件
-Declipse.addVersionToProjectName=true 添加版本信息到项目名称中
清除eclipse的项目文件:
mvn eclipse:clean
maven-jetty-plugin插件命令:
mvn jetty:run
可以直接用jetty的服务器运行
注:此命令只适用于war的模块,即web模块.
maven-archetype-plugin 插件命令:
mvn archetype:generate
模块创建命令,
执行命令后,会提示选择创建项目的模版,这里选18(maven-archetype-quickstart)
后面会提示你输入groupId(包存放的路径):
eg:com.test
提示输入artifactId(模块名称):
eg:test-core
提示输入version(版本):
1.0.0-SNAPSHOT
提示输入package(指项目中基本的包路径):
eg:com.test
提示确认,回车即可
Maven 版本管理
maven-release-plugin插件
说明:
发行版本,可与scm工具集成,来提供版本管理.不等同与版本控制.允许是必须有goal.两个常用的goal如下:
命令:
mvn release:clean
清理release操作是遗留下来的文件
命令:
mvn release:branch
说明:
创建分支,会在分支下创建执行的分支路径
-DbranchName=xxxx-100317 分支中的名称
-DupdateBranchVersions=false 是否更新分支的版本信息,默认为false
-DupdateWorkingCopyVersions=false 是否更新主干的版本信息,默认为true
命令:
mvn release:prepare
创建标记,会有交互过程,提示tag中pom的版本及trunk下的新版本号,每个模块都会询问,默认是最小版本号+1
-Dtag = 4.4.0 将在tags创建该名称文件夹
-DdryRun=true 检查各项设置是否正确,可做测试用,会产生一些修改的配置文件信息.
命令:
mvn release:perform
次命令会自动帮我们签出刚才打的tag,然后打包,分发到远程Maven仓库中
Maven站点报表
mvn site 生产项目报表
mvn project-info-reports:dependencies 生成项目依赖的报表
依赖命令
maven查看依赖类命令
查看依赖
mvn dependency:resolve
查看项目依赖情况
mvn dependency:tree
打印出项目的整个依赖树
mvn dependency:analyze
帮助你分析依赖关系, 用来取出无用, 重复依赖的好帮手
mvn install -X
追踪依赖的完整轨迹
生命周期
resource->compile->process-classes->process-test-resources->test-compile->test->prepare-package->package
resources:resources 绑定在resource处理阶段, 用来将src/main/resources下或者任何指定其他目录下的文件copy到输出目录中
resources:testResources 将test下的resources目录或者任何指定其他目录copy到test输出目录下
compiler:testCompile 将测试类编译(包括copy资源文件)
surefire:test 运行测试用例
jar:jar 打jar包
maven2学习总结(5.使用Maven打包并安装到本地库) - 跳刀的兔子 - 博客园
http://www.cnblogs.com/shipengzhi/archive/2011/05/17/2048836.html
mvn常用指令记录的更多相关文章
- MATLAB常用指令记录
help + 'command name' % 查询指令用法 Ctrl + Break % 强制终止程序运行 Shift + Enter % command window下换行不运行指令 M'; % ...
- angular2.0学习笔记4.npm常用指令记录及angular语法
以下命令,都需要在命令行窗口中,先切入到项目文件夹目录,再执行 1.npm start 这个命令会在“监听”模式下运行TypeScript编译器,当代码变化时,它会自动重新编译. 同时,该命令还会在浏 ...
- linux常用指令学习记录
前言 本文主要为学习贴,用来记录一些 linux上的常用指令 以供参考. 文件内容查看 cat 从上往下阅读文件内容 cat [-AbEnTv] ${FILE_NAME) cat -n /etc/is ...
- ImageMagick常用指令详解
Imagemagick常用指令 (ImageMagick--蓝天白云) (ImageMagick官网) (其他比较有价值的IM参考) (图片自动旋转的前端实现方案) convert 转换图像格式和大小 ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- HBase shell 常用指令
HBase shell 常用指令 连接HBase $ ./bin/hbase shell 打开帮助 hbase(main):001:0> help 创建表 hbase(main):003:0&g ...
- Docker的使用初探(一):常用指令说明
目录 Docker的使用初探(一):常用指令说明 为什么要用Docker Docker的安装与简单使用 国内镜像加速 常用指令 Docker的使用初探(一):常用指令说明 前几个星期实践的了,再不记录 ...
- Docker Compose 配置文件常用指令
Docker Compose 配置文件常用指令 YAML文件格式及编写注意事项 YAML是一种标记语言很直观的数据序列化格式,可读性高.类似于XML数据描述语言,语法比XML简单的很多. YAML数据 ...
- Git版本控制原理和常用指令说明
平时在Android Studio开发Android项目,习惯了点击右键或图标直接拉新fetch,pull,commit和push.但是必要的时候还得在终端输入命令行.比如正在开发新版本v3.0,老板 ...
随机推荐
- 用Eclipse 统计代码行数小技巧
今天公司SQA问我目前项目代码行数有多少,我当时就是想,以前好像写过类似的统计工具但是一时又找不到 公司网络又不能下载,所以想想eclipse是不是又类似功能,找了下没有,但突然一想有一个转弯方法:统 ...
- docker私有仓库搭建(ubuntu 14.04和centos7)
最近是在做一个关于docker云化的项目,马上就要开始实战.下午先做了一个私有仓库搭建的实验,先大概做个笔记,有兴趣的蛮看一下吧. 先在所有机子上都安装上docker,我的是两台ubuntu,分别是1 ...
- 可信执行环境TEE(转)
硬件威胁:ARM的架构设计 软件威胁 TEE是中等安全级别 可信执行环境(TEE)是Global Platform(GP)提出的概念.针对移动设备的开放环境,安全问题也越来越受到关注,不仅仅是终端用户 ...
- std::string
/************************************************************************* > File Name: string.cp ...
- manecher
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> us ...
- Hadoop的初步理解
一.整体思维导图 二.HDFS(Hadoop分布式文件系统) 说明 NameNode:保存整个文件系统的目录信息.文件信息及分块信息,这是由唯一一台主机专门保存,当然这台主机如果出错,NameNode ...
- 数据结构录 之 单调队列&单调栈。
队列和栈是很常见的应用,大部分算法中都能见到他们的影子. 而单纯的队列和栈经常不能满足需求,所以需要一些很神奇的队列和栈的扩展. 其中最出名的应该是优先队列吧我觉得,然后还有两种比较小众的扩展就是单调 ...
- [iOS]Objective-C 第一节课
Objective-C 第一节课 本节课的主要内容 创建Objective-C的第一个工程 HelloWorld Objective-C中的字符串 创建Objective-C的第一个工程 打开Xcod ...
- javascript 中的闭包
在 javascript 中,函数可以当做参数传递,也可以当做返回值返回. 当一个函数内部返回值为一个函数时, 就形成了闭包.(闭包里面的 this 问题) 如下面代码 Function.protot ...
- CI如何在子目录下可以设置默认控制器
CI建立大型大型的应用程序,需要创建子文件夹在application/controllers下建立文件夹app1app1目录下有多个控制器,ca.php,cb.php我希望定义app1下的默认控制器, ...