Maven(二):常用命令、依赖管理

Maven(二):常用命令、依赖管理

 

相关阅读:

Maven(一):安装与环境配置、使用Maven搭建web项目

Maven(二):常用命令、依赖管理

Maven(三):将web项目的war包热部署到远程Tomcat服务器

Maven(四):使用maven整合Spring+SpringMVC+Mybatis框架详细步骤

Maven(五):使用maven整合Struts2+Spring+Hibernate框架详细步骤


 

在上一篇文章中,我们介绍了maven的安装配置与使用maven创建了一个web项目,现在,我们就稍微了解下maven工程的一些基础知识:

1、maven项目标准的目录结构:

Maven(二):常用命令、依赖管理

对项目进行细分:

Maven(二):常用命令、依赖管理

 

2、maven的常用命令:

maven常用的命令主要有:clear,compile,test,package,install,deploy。

(1)clean:清理:将项目根目录下的targer目录清理掉

Maven(二):常用命令、依赖管理

(2)compile:编译:将项目中的.java文件编译为.class文件

Maven(二):常用命令、依赖管理

(3)test:单元测试:将项目根目录下src/test/java目录下的单元测试类都会执行,单元测试类名有要求:XxxTest.java

Maven(二):常用命令、依赖管理

(4)package:打包:将项目打包,打包到项目根目录下target目录:

web project —war包

java project —jar包

(5)install:安装:打包到本地仓库,解决本地仓库多个项目公用一个jar包

(6)maven项目的生命周期:

在maven中存在“三套”生命周期,每一套生命周期相互独立,互不影响。在一套生命周期内,执行后面的命令,前面的操作会自动执行。

①CleanLifeCycle:清理生命周期:clean

②defaultLifeCycle:默认生命周期:compile、test、package、install、deploy

③siteLifeCycle:站点生命周期:site

 

3、依赖范围:

maven项目的核心配置文件是pom.xml,我们可以在这个文件中,添加需要依赖的Jar包,同时还可以在<scope>标签中配置jar的有效范围,即依赖范围,如下图:

Maven(二):常用命令、依赖管理

添加依赖:默认依赖范围是compile

provided:运行时部署到tomcat后不再需要

如果将servlet-api.jar设置为compile,打包后项目包含servlet-api.jar,war包部署到tomcat跟tomcat中存在的servlet-api.jar包冲突,导致运行失败:

Maven(二):常用命令、依赖管理

解决:修改依赖的范围:

Maven(二):常用命令、依赖管理

 

4、依赖管理:

(1)传递依赖:A依赖B,B依赖C,B是A的直接依赖,C是A的传递依赖。

遵循原则:

–第一声明者优先原则:谁先定义的就用谁的传递依赖

–路径近者优先原则:直接依赖级别高于传递依赖

(2)排除依赖:

Maven(二):常用命令、依赖管理

(3)版本锁定:(重点)

Maven(二):常用命令、依赖管理

Maven(二):常用命令、依赖管理

 

5、依赖传递的范围:

Maven(二):常用命令、依赖管理

 

 

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

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

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


相关推荐

  • navicat激活码 最新[在线序列号]

    navicat激活码 最新[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    72
  • 突破思维的障碍

    突破思维的障碍译者的话   在众多的讲述思维及创造性的书中,这是一本普通的小册子,但它却是吸引人的。作者用妙趣横生而又日常可见的素材向我们娓娓叙说了人人都会关心的问题,即我们是否意识到自己的思维障碍,怎样克服它,让自己变得更富有创造活力。   这本书在美国一版再版,风靡一时,拥有广泛的读者,无论是从事研究工作的高级学者、研究人员,还是从事行政、工商和管理活动的人士或普通学生。相信本书与中国读者的见面

    2022年5月5日
    36
  • html注册cab包,OCX控件打包成CAB并实现数字签名过程

    html注册cab包,OCX控件打包成CAB并实现数字签名过程OCX打包CAB并签名过程一、打包cab制作cab文件时需要将所有的相关文件都包含进去,可以通过Depends(VC自带的)检查需要的文件。使用inf文件将这些东西都写进去。1、制作inf文件default.INF最开始一般是[Version]区:eg:[Version]signature=”$CHICAGO$”AdvancedINF=2.0接下来就是最重要的[Add.Code]区:eg:…

    2022年7月13日
    24
  • 计算机负数补码_负数用补码表示如何理解

    计算机负数补码_负数用补码表示如何理解在计算机系统中,数值一律用补码来表示(存储)。主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。2、补码与原码的转换过程几乎是相同的。数值的补码表示也分两种情况:(1)正数的补码:与原码相同。例如,+9的补码是00001001。(2)负数的补码:符号位为1

    2025年6月13日
    4
  • BC高精确度函数使用。

    BC高精确度函数使用。

    2021年9月18日
    51
  • 京东准点秒杀脚本[通俗易懂]

    京东准点秒杀脚本[通俗易懂]转载自:https://blog.csdn.net/tangcv/article/details/102993939直接上菜1.浏览器打开https://www.jd.com/,登录京东2.选择要抢购的商品3.按键盘F12,打开开发者模式,选择Console选项卡4.把以下代码粘贴在Console里面,修改代码里开始抢购时间(有二处时间)varnIn…

    2022年6月16日
    41

发表回复

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

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