maven打包常用命令总结

maven打包常用命令总结maven打包常用命令总结基本命令介绍1、mvnclean2、mvncompile3、mvnpackage4、mvninstall5、mvndeploy生产环境打包举例1、生产环境根据源码构建项目:2、可用用到的其他mvn参数介绍:开发过程中常见以下几个命令,这些命令执行后程序究竟发生了什么变化?生产环境如果使用shell脚本配置jenkins构建项目,如何使用命令呢?下面介绍一下我常…

大家好,又见面了,我是你们的朋友全栈君。

开发过程中常见以下几个命令,这些命令执行后程序究竟发生了什么变化?生产环境如果使用shell脚本配置jenkins构建项目,如何使用命令呢?下面介绍一下我常用的命令
首先说明一下连个基本概念:

  • 本地仓库路径,默认为.m2/repository,settings下面配置的<localRepository>/path/to/local/repo</localRepository>
  • 项目构建目录target/:用于存放mvn生产的class文件和jar包

基本命令介绍

1、mvn clean

清楚当前项目的target目录,执行后直接删除target/*

2、mvn compile

对当前项目进行编译,在target生产class文件

3、mvn package

相当于clean + compile + package,对项目先编译再打包,在target目录下生产project.jar

4、mvn install

相当于clean + compile + package+install,对项目先编译再打包,在target目录下生产project.jar,并且将jar包更新到本地仓库。

5、mvn deploy

相当于clean + compile + package+install+deploy,对项目先编译再打包,在target目录下生产project.jar,并且将jar包更新到本地仓库,最后根据<distributionManagement>中配置的私服地址,将包发布到私服。

生产环境打包举例

1、生产环境根据源码构建项目:

mvn clean install -Dmaven.test.skip=true -pl project -am
说明:

  • 项目一般为父子项目,在父母目录下构建子项目,或者直接到子项目构建单个子项目,本命令使用于直接根据源代码,构建最新jar包
  • clean install 将最新jar包发布到本地仓库和项目target目录
  • maven.test.skip=true忽略单元测试,防止测试代码报错
  • -pl 指定构建某一个子项目,不指定构建全部子项目
  • -am 构建当前项目时,项目依赖的模块也打最新包

2、可用用到的其他mvn参数介绍:

-P : 启用profile
-pl:指定打包的模块,可以用路径也可以用坐标,如果父项目同时是父目录,那么进入父目录下,直接“-pl 项目目录名”即可;
-am:意味着also-make (dependency),即同时打包依赖的模块;
-amd:意味着also-make-depnedents,即同时打包依赖该模块的模块;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135801.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm修改pip源为清华源-提高下载速度

    pycharm修改pip源为清华源-提高下载速度国内pip源:清华大学https://pypi.tuna.tsinghua.edu.cn/simple/在使用pycharm时,打开avaiablepackegs,点击ManageRepositories。点右上方的绿色加号,添加清华源即可(图中三个源:原始,清华,阿里),也可以只使用清华源:在添加包页面进行刷新,看到下载地址改变即可如果想使用命令行pip命令进行下载:使用pip的时候在后面

    2022年6月4日
    290
  • android studio 皮肤,Android Studio 自定义皮肤主题和背景

    android studio 皮肤,Android Studio 自定义皮肤主题和背景AndroidStudio自定义皮肤主题-ColorThemes最近有人问我,“你代码这是用的什么字体?看着好舒服”,其实这是用了自定义皮肤主题包,主题包下载网站http://color-themes.com/?view=index这个皮肤主题不仅可以在AndroidStudio上使用,也可以在WebStorm,PyCharm,RubyMine,PhpStorm,AppCode等好多开发工…

    2025年7月3日
    0
  • 数据增强之cutout变体,添加噪声和mixcut

    数据增强之cutout变体,添加噪声和mixcut数据增强之cutout变体,添加噪声生成框defrand_bbox(size,lam):W=size[2]H=size[3]#ratio=np.sqrt(1.-lam)cut_w=np.int(W*lam)cut_h=np.int(H*lam)#uniformcx=np.rand…

    2022年9月25日
    0
  • typedef struct Lnode{ Elemtype data; struct Lnode *next; } Lnode,*Linklist;「建议收藏」

    typedef struct Lnode{ Elemtype data; struct Lnode *next; } Lnode,*Linklist;「建议收藏」*next是指向下一个值的地址而*Linklist是当前这个值的地址,只是这个值里有数据data,和下一个值的地址就是说链表中,因为数据是随机储存的,所以地址不是连续的,要想读取下一个数,就要知道下一个数据的地址不知道有没有看懂,表达能力不是很好*Linklist相当于一个数组头指针,只是这个数组的元素是结构体*next则是构成链表的一个基本元素,指向该结点下一个结点的地址从某种意义上讲,*Linklist是指定了这段空间在内存中的位置(可以申请连续的结点空间),而*next则对结点进行了一

    2022年5月19日
    39
  • 开源 网管 工具_智和网管平台激活成功教程版

    开源 网管 工具_智和网管平台激活成功教程版http://network.51cto.com/art/200906/129490.htm 转载于:https://blog.51cto.com/zhengj3/168618

    2022年10月5日
    1
  • Linux 查看iptables状态-重启

    Linux 查看iptables状态-重启

    2021年10月19日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号