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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 判断php的运行模式

    判断php的运行模式

    2021年10月27日
    34
  • zipfile压缩文件夹_bad zip file

    zipfile压缩文件夹_bad zip fileimportzipfiledefzipDir(dirpath,outFULLName):zip=zipfile.ZipFile(outFULLName,’w’,zipfile.ZIP_DEFLATED)forpath,dirnames,filenamesinos.walk(dirpath):fpath=path.replace(dirpath,””)forfilenameinfilenames:zip.wri

    2022年9月17日
    3
  • telnet 命令使用方法详解,telnet命令怎么用?[通俗易懂]

    telnet 命令使用方法详解,telnet命令怎么用?[通俗易懂]什么是Telnet?对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦入侵者与远程主机建立了Telnet

    2022年8月2日
    30
  • linux 查看1521端口状态,linux防火墙开放1521端口

    linux 查看1521端口状态,linux防火墙开放1521端口问题描述:使用plsql连接数据库发现TNS报错,登录服务器发现防火墙开放,如果直接关闭防火墙,所有的端口都可以连接,但是实际中可能会遇到开启防火墙的库,这时候需要开放单一端口对某一服务器或者某一网段1.开放1521端口对所有服务器vi/etc/sysconfig/iptables-AINPUT-mstate–stateNEW-mtcp-ptcp–dport1521-…

    2022年6月10日
    36
  • 40+个精选的VSCode前端插件,总有一款适合你

    40+个精选的VSCode前端插件,总有一款适合你有句话,事半功倍,其必然是借助了某些思想和工具。VSCode是我们前端开发的武器,本文40+精选插件,让其更加锋利,无坚不摧!!必备的下面这些必备的我就不说了代码段JavaScript\…

    2022年7月25日
    20
  • 华为面试笔试题库_c++笔试题

    华为面试笔试题库_c++笔试题整理了一下华为往届笔试面试题,希望对大家有帮助:超级有用的面试题:Java常见面试题   常见算法面试题  数据库常见面试题 操作系统常见面试题  C/C++常见面试题 大数据常见面试  python常见面试来源:华为笔试面试圈&gt;&gt;1、2018华为校招机试题目2、2018华为届校园招聘软件开发岗笔试题3、2017华为笔试题及答案4、2017年华为笔试…

    2022年8月27日
    5

发表回复

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

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