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,即同时打包依赖该模块的模块;

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 手机怎么复制网页上不能复制的文字_如何复制网页上收费文档的文字

    手机怎么复制网页上不能复制的文字_如何复制网页上收费文档的文字们在浏览网页的时候,时常会觉得有的内容不错,想复制下来,却发现有的网页内容不能复制,今天就教大家如何解决这个问题。虽然可以通过禁用脚本或是“查看源文件”,在源文件代码中复制需要的文章。不过复制文章的时候会有很多用不着的符号和代码。这样的操作方法其实都不如使用八爪鱼方便快捷。下面就给大家介绍一下如何利用八爪鱼采集网页上不能复制。步骤一、下载八爪鱼软件并登陆1、打开htt…

    2022年10月13日
  • IDEA设置java 编译级别

    IDEA设置java 编译级别IDEA设置java编译级别ProjectSettings中(1)Project (2)Modules 首选项中(3)Command+,    

  • java获取当前日期date类型_uuid一般是多少位的啊

    java获取当前日期date类型_uuid一般是多少位的啊java中获取当前年月日使用Calendar类//获取Calendar类Calendarcalendar=Calendar.getInstance();//获取年calendar.get(Calendar.YEAR);//获取月注:获取的月比真实月少1calendar.get(Calendar.MONTH)+1;获取UUID字符串方法:uui

  • 基于nsga2的多目标柔性车间调度问题matlab[通俗易懂]

    基于nsga2的多目标柔性车间调度问题matlab[通俗易懂]主函数:%主函数functionnsga2_schedulingclearall;clc;pop=200;%种群数量gen=10;%迭代次数pop_f=100;%父代种群数量data_mac;%载入车间设备信息data_pro;%载入待加工工件信息pro_matrix=[];%包含工序及目标函数值的决策矩阵mac_matrix=[];%包含设备染色体信息的决策矩阵fori=1:pop_

  • 5g网络切片是什么意思_网络切片是5G网络的标志性

    5g网络切片是什么意思_网络切片是5G网络的标志性众所周知,5G网络除了高速度、低时延外,还将承载万物互联,而要满足各种不同垂直行业的差异化需求,就要依靠5G网络切片来实现。因此有专业人士认为网络切片是5G的核心,是运营商服务垂直行业的基础和关键。那么,到底什么是网络切片,为什么5G需要网络切片?网络切片,到底“切”的是什么?01切片技术是5G网络的核心2020年以来,5G建设浪潮奔涌而来,行业应用加速落地,5G与产业加速渗透融合,与经济高质量发展、社会数字化转型的联系愈发紧密。“4G改变生活,5G改变社会”,虽然当前5G的建设成果及其展现出的威

  • struts+hibernate工作原理和简单工程创建步骤(附工程下载地址)

    struts+hibernate工作原理和简单工程创建步骤(附工程下载地址)

发表回复

您的电子邮箱地址不会被公开。

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