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


相关推荐

  • 富文本编辑器汇总_移动端富文本编辑器

    富文本编辑器汇总_移动端富文本编辑器富文本编辑器:(RichTextEditor,RTE)是一种可内嵌于浏览器,所见即所得的文本编辑器。它提供类似于OfficeWord的编辑功能,方便那些不太懂HTML用户使用,富文本编辑器的应用非常广泛,它的历史与图文网页诞生的历史几乎一样长。1.TinyMCTinyMCE是一个开源的所见即所得的HTML编辑器,界面相当清新,界面模拟本地软件的风格,顶部有菜单栏。支持图片在线处理,插件多,功能非常强大,易于集成,并且拥有可定制的主题。支持目前流行的各种浏览器,它可以达到微软…

    2025年7月3日
    3
  • qt的内存映射

    qt的内存映射uchar*QFileDevice::map(qint64offset,qint64size,QFileDevice::MemoryMapFlagsflags=NoOptions)从偏移量开始将文件的大小字节映射到内存中。应该打开一个文件以使映射成功,但在映射内存之后,该文件不需要保持打开状态。当QFile被销毁或用这个对象打开一个新文件时,任何未被映射的映射都将被自动取消映射。映射将具有与文件相同的打开模式(读和/或写),除非使用maprivateOption,在这种情况下,始终可以

    2022年6月15日
    108
  • pycharm跟vscode_如何设置断点调试

    pycharm跟vscode_如何设置断点调试调试程序的三种方式:Pycharm、Vscode、pdb调试

    2025年6月2日
    1
  • HTML+CSS代码橙色导航菜单

    效果预览:http://hovertree.com/code/texiao/ks63r6aq.htm1<!DOCTYPEhtml>2<htmlxmlns="ht

    2021年12月21日
    62
  • ORACLE数据库数据的备份与恢复

    ORACLE数据库数据的备份与恢复数据备份恢复在数据库管理中至关重要,今天,总结一下数据库备份与恢复的方案,需要注意的方面和实际操作!、

    2022年7月1日
    23
  • mysql只有information_schema_validationquery not set

    mysql只有information_schema_validationquery not set在MySQL8.0以前,通常会通过infomation_schema的表来获取一些元数据,例如从tables表中获取表的下一个auto_increment值,从indexes表获取索引的相关信息等。但在MySQL8.0去查询这些信息的时候,出现了不准确的情况。例如auto_increment,–此时test表的auto_increment是204mysql&amp;gt;showcreate…

    2022年9月16日
    3

发表回复

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

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