Maven实战-1.maven命令

news2024/11/19 2:36:26

前言

持续更新中…

Maven命令

1.mvn help:system

打印出java所有的系统属性和环境变量。

2.mvn clean compile

clean告诉Maven清理输出目录target/,compile告诉Maven编译项目的主代码(src/main/java目录下)。

不要问为什么只是编译了项目的主代码(resources中的资源配置文件呢?),因为这个命令会执行多个maven插件以及目标,其中就包括resources:resources。
在这里插入图片描述

3.mvn clean test

执行测试用例的执行,此命令牵扯到Maven生命周期多个插件和目标的执行,包括:clean:clean,resources:resources,compiler:compile,resources:testResources,complier:testCompile,surefire:test,其中最后surefire就是Maven中负责执行测试的插件,并输出测试报告,显示执行了多少,失败了多少,出错了多少,跳过了多少等。

4.mvn clean package

打包命令,如果POM文件中没有指定打包类型,默认就是jar类型。

此命令在最后打包之前,也会执行clean:clean,resources:resources,compiler:compile,resources:testResources,complier:testCompile,surefire:test等操作,最后还会执行jar:jar进行打包(jar插件的jar目标将项目打包成一个.jar的文件,输出到/target目录中)。

输入的.jar文件命名规则是项目的artifactId-version.jar规则。

5.mvn clean install

将项目最终的输出jar文件,安装到本地的Maven仓库中。这样其他项目通过groupId,artifactId和version就可以引用使用此jar了。

执行install,生命周期除了和package命令一样外,最后会额外执行一个install:install。

6.mvn archetype:generate

用来生成项目骨架。(其实就是生成一个Maven项目)

实际上是在运行maven-archetype-plugin插件,运行之后会看到很长的输出,然后命令行会提示一个默认编号,回车继续后要求陆续输入groupId,artifactId,version,包名package等,确认后最终创建了一个Maven格式的项目骨架。

7.mvn dependency:list

查看当前项目已解析的所有依赖。(直接依赖+传递依赖的)

而且每个依赖的范围也可以看到。

在这里插入图片描述

8.mvn dependency:tree

此命令不仅可以看到已解析的所有依赖(直接依赖+传递依赖的)和以来范围,还能在此基础上将当前项目的直接依赖定义为顶层依赖,而顶层依赖的依赖定义为第二层依赖,以此类推…就有第三层,第四层依赖,从而构建出一个依赖树,就可以清晰的展示哪个依赖是从哪条路径传递进来的了。

在这里插入图片描述

9.mvn dependency:analyze

分析当前项目的依赖情况,哪些需要但是没有直接定义依赖或哪些依赖了但却对当前项目没有用。

在这里插入图片描述
看上图,有两个中重要的部分,首先是Used undeclared dependencies found,说的是项目中使用到的,但却没有声明的依赖,这种依赖意味着存在潜在风险(依赖传递进来的,如果修改依赖的版本,传递的依赖版本可能也会变化,存在风险)。

还有一个重要的是Unused declared dependencies found,说的是项目中没有用到,但却显示声明了的依赖。不能盲目删除,因为此命令只会发现编译主代码和测试代码需要的依赖,一些执行测试和运行的需要依赖发现不了,所以需要谨慎删除以免报错。

10.mvn clean deploy

Maven会将项目构建输出的构件部署到配置对应的远程仓库,如果当前项目的版本是快照版本,则部署到远程仓库的快照版本仓库,否则就部署到发布版本的仓库。

部署到远程仓库需要在pom文件和setting文件(如果需要配置认证的话)配置远程仓库信息,可以参考这里Maven实战-2.pom.xml标签说明和Maven实战-3.setting.xml标签说明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/191812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)

一、区别:三者通常都会配合窗口函数over(),并结合partition by order by xxx来分组排序,即形式使用:function_name over(partition by xxx order by xxx)。首先三者都是产生一个自增序列,不同的是row_number() 排序的字…

2023年SAT、ACT、AP、Alevel、IB考试时间表

2023年已经来临!以下是2023年SAT、ACT、AP、A-Level、IB考试时间安排,早规划早备考,建议大家收藏!2023 SAT从2023年开始,美国以外的所有SAT考试都将转为机考,美国SAT考试将在2024年全面转为机考。2023年一共…

前端Vue中实现超炫酷动态背景(全屏背景+自定义banner+登录/注册页)

一、文章引导 #mermaid-svg-9sKRaMRBkdCcbAh2 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-9sKRaMRBkdCcbAh2 .error-icon{fill:#552222;}#mermaid-svg-9sKRaMRBkdCcbAh2 .error-text{fill:#552222;stroke:#55222…

29相似矩阵和若尔当型

一、知识概要 本节从正定矩阵的回顾谈起,介绍了相似矩阵和若尔当型。但是没有进行深入介绍,主要目的是让我们对这些变换方式有所了解。 二、正定矩阵补充 在上一节学习的正定矩阵的基础上,我们给出以下问题: (1&…

2023年2月北京/广州/西安/深圳DAMA-CDGA/CDGP数据治理认证招生简章

DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义,帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力,促进开展工作实践应用及实际问题解决,形成企业所需的新数字经济下的核心职业…

uniapp:常用跨端业务组件

插件内组件包含以下功能: 自定义状态栏组件(ZoNavBar)上拉加载状态组件(ZoLoading)弹窗组件(ZoPopup)搜索组件(ZoSearchBar)空数据组件(ZoEmpty)tab标签组件(ZoTabs)tab下拉筛选组件(ZoSelectTabs)底部导航组件(ZoTabBar)cell导航组件(ZoCell) 10.标题内容组件(ZoT…

复试--数据结构篇[1-4章]

目录第一章 绪论第二章 线性表1-线性表的顺序表示(顺序表)2-线性表的链式表示(链表)(1)单链表(2)循环链表(3)双向链表3-顺序表和链表的比较4-线性表的应用第三…

Hyper-V中的虚拟机双网卡配置

Hyper-V中的虚拟机双网卡配置 在虚拟机交换管中 存在三种虚拟交换机分别是外部、内部和专用 内部网络:虚拟机与虚拟机访问宿主机,虚拟机可以访问物理网络 外部网络:虚拟机与虚拟机之间,虚拟机与宿主机之间,虚拟机或宿…

大数据学习路线

学习建议 #1、Java 这个没毛病,看 Java 程序员进阶之路就好了,Spring Boot 也要能掌握 #2、MySQL 要能写复杂的 SQL 语句,为后面学习 Hive 数仓的 HQL 打好基础。 #3、Linux 大数据的相关软件都是在 Linux 上运行的,所以 Linux …

Django默认的Auth权限管理系统的使用

1.Django默认已经提供了认证系统Auth模块。认证系统包含: 用户管理权限用户组密码哈希系统用户登录或内容显示的表单和视图一个可插拔的后台系统 admin Django默认用户的认证机制依赖Session机制,我们在项目中将引入JWT认证机制,将用户的身…

无法启动此程序,因为dll丢失的解决方法分享

大家在使用电脑的时候,应该经常会遇到这种情况吧?在你打开某些程序的时候,突然弹出一个框框说无法启动此程序,因为dll丢失,那么遇到这种情况,我们需要怎么去解决呢?今天小编就详细的给大家讲解一…

对象的序列化和反序列化

读写JSON格式的数据 通过上面的讲解,我们已经知道如何将文本数据和二进制数据保存到文件中,那么这里还有一个问题,如果希望把一个列表或者一个字典中的数据保存到文件中又该怎么做呢?在Python中,我们可以将程序中的数…

方向梯度直方图(HOG)

摘要: 方向梯度直方图(HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述。HOG特征通过计算和统计图像局部区域的梯度方向直方图来构成特征。主要用于解决人体目标检测,主要通过梯度方向直方图特征来表达人体,提取人体的外…

OpenMMLab AI实战营Day1 计算机视觉算法基础与 OpenMMLab

目录 一、计算机视觉任务 二、计算机视觉的应用 三、计算机视觉的发展 四、OpenMMLab介绍 一、计算机视觉任务 计算机视觉三大基础任务:分类、检测、分割。 分割分为两种:语义分割(Semantic Segmentation)、实例分割&#xff08…

【Node.js实战】一文带你开发博客项目之Express重构(博客的增删查改、morgan写日志)

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,也会涉及到服务端 📃个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀未…

Java之并发编程(二)

二、Java内存模型(重要) 1. CPU缓存模型 1.1 CPU缓存 CPU缓存是为了解决 CPU处理速度和内存处理速度不对等的问题。(类比:缓存如Redis是为了解决程序处理速度和访问常规关系型数据库速度不对等的问题) 内存缓存是为…

UDS诊断系列介绍16-DTC状态位介绍

本文框架1. 系列介绍2.各状态位逻辑介绍2.0 Bit0(TestFailed)置位逻辑2.1 Bit1(TestFailedThisOperationCycle)置位逻辑2.2 Bit2(PendingDTC)置位逻辑2.3 Bit3(ConfirmedDTC)置位逻辑2.4 Bit4(TestNotCompletedSinceLastClear)置位逻辑2.5 Bit5(TestFailedSinceLastClear)置位逻…

网站排名下降怎么恢复(网站降权的原因如何知道)

网站降权后恢复网站排名的方法 对于我们很多SEO新手来说,降权可能是不可避免的,但很多时候是因为我们的无知或粗心大意导致网站降权,从延长排名周期到导致网站进入沙盒效应,所以我们的网站降权后并非无法恢复。很多时候&#xff…

【逆向分析】静态分析_Navtive_小计

静态分析so小计 源APK https://github.com/eternalsakura/ctf_pwn/blob/master/android%E9%80%86%E5%90%91/mobicrackNDK.apk jadx 通过源码发现关键函数在 public native boolean testFlag(String str);static {System.loadLibrary("mobicrackNDK");}所以要看na…

【C++】入门(上)

本期博客给大家带来的全是干货,慢慢享用吧~C入门主要是一些对C语言不足的语法补充,废话不多说直接上干货:一、C的输出和输入1.1 输出在C上我们要想在屏幕(控制台)上进行一些内容的输出可以使用关键字:cout具…