首页 > 其他分享 >maven系列:依赖管理和依赖范围

maven系列:依赖管理和依赖范围

时间:2023-08-12 23:55:51浏览次数:26  
标签:Maven 依赖 系列 jar maven 导入 坐标 范围

目录

一、依赖管理

使用坐标导入jar包

1.在 pom.xml 中编写<dependencies> 标签

2.在 <dependencies> 标签中 使用<dependency> 引入坐标

3.定义坐标的 groupId,artifactId,version

4.点击刷新按钮,使坐标生效

image

使用坐标导入 jar 包 – 快捷方式

1.在 pom.xml 中 按 alt + insert,选择 Dependency

2.在弹出的面板中搜索对应坐标,然后双击选中对应坐标

3.点击刷新按钮,使坐标生效

image

使用坐标导入 jar 包 – 自动导入

1.选择 IDEA中 File --> Settings

2.在弹出的面板中找到 Build Tools

3.选择 Any changes,点击 ok 即可生效

image

二、依赖范围

  • 通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境

  • <scope>默认值:compile

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
    </dependency>
依赖范围 描述
compile 编译依赖范围,scope 元素的缺省值。使用此依赖范围的 Maven 依赖,对于三种 classpath 均有效,即该 Maven 依赖在上述三种 classpath 均会被引入。例如,log4j 在编译、测试、运行过程都是必须的。
test 测试依赖范围。使用此依赖范围的 Maven 依赖,只对测试 classpath 有效。例如,Junit 依赖只有在测试阶段才需要。
provided 已提供依赖范围。使用此依赖范围的 Maven 依赖,只对编译 classpath 和测试 classpath 有效。例如,servlet-api 依赖对于编译、测试阶段而言是需要的,但是运行阶段,由于外部容器已经提供,故不需要 Maven 重复引入该依赖。
runtime 运行时依赖范围。使用此依赖范围的 Maven 依赖,只对测试 classpath、运行 classpath 有效。例如,JDBC 驱动实现依赖,其在编译时只需 JDK 提供的 JDBC 接口即可,只有测试、运行阶段才需要实现了 JDBC 接口的驱动。
system 系统依赖范围,其效果与 provided 的依赖范围一致。其用于添加非 Maven 仓库的本地依赖,通过依赖元素 dependency 中的 systemPath 元素指定本地依赖的路径。鉴于使用其会导致项目的可移植性降低,一般不推荐使用。
import 导入依赖范围,该依赖范围只能与 dependencyManagement 元素配合使用,其功能是将目标 pom.xml 文件中 dependencyManagement 的配置导入合并到当前 pom.xml 的 dependencyManagement 中。

image

标签:Maven,依赖,系列,jar,maven,导入,坐标,范围
From: https://www.cnblogs.com/vic-tory/p/17625913.html

相关文章

  • 【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-变异凯撒
    前言在密码学中,凯撒密码是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。ROT13是凯撒密码的一种变体,即移位数为13。RO......
  • 封装矩阵一系列
    structMatrix{typedeflonglongll;constllmod=1000000007;llmatrix[110][110];//矩阵里的每一个数llline,colu;//矩阵的行,列Matrixoperator*(constMatrix&b)const{Matrixans;ans.line=line,ans.colu=......
  • servlet系列:简介和基本使用以及工作流程
    目录一、简介二、Servlet实现三、基本使用1.引入pom依赖2.实现Servlet规范,重写service方法3.配置web.xml4.配置Tomcat6.运行四、Servlet的工作流程一、简介Servlet是Server与Applet的缩写,是服务端小程序的意思。使用Java语言编写的服务器端程序,可以生成动态的WEB页,Serv......
  • maven3.5.4安装
    就是直接把我网盘里面的maven解压就行,setting.xml文件内的镜像我配的时阿里的,可以直接用,网盘链接如下链接:https://pan.baidu.com/s/1ZPS6eh8jBjteSgDZm2HeIg提取码:dysb--来自百度网盘超级会员V4的分享 注意的是记得要配置你的本地依赖库的路径,要选你自己的这里是我自己的,......
  • openGauss数据库源码解析系列文章——安全管理源码解析(三)
    Gauss松鼠会[openGauss](javascript:void(0);)2023-07-2917:58发表于四川在上篇openGauss数据库源码解析系列文章——安全管理源码解析(一)我们围绕安全管理整体架构和代码概览、安全认证原理介绍和代码解析进行了简单介绍。本篇将继续角色管理、对象权限管理的学习,全文阅读需要3......
  • openGauss数据库源码解析系列文章——安全管理源码解析(四)
    四、对象权限管理权限管理是安全管理重要的一环,openGauss权限管理基于访问控制列表(accesscontrollist,ACL)实现。4.1权限管理1.访问控制列表访问控制列表是实现数据库对象权限管理的基础,每个对象都具有ACL,存储该对象的所有授权信息。当用户访问对象时,只有用户在对象的ACL中并且......
  • VS2022 打开旧项目缺乏.net 4.5.1 & .net 4.5.2 依赖问题
    我操作系统是WIN10,.NET已经安装到最高4.8了。估计不给装4.5。按照网上提示,下载一个nuget包,解压后复制到系统相关位置,问题解决。1、首先从Microsoft.NETFramework.ReferenceAssemblies.net45下载一个依赖包https://www.nuget.org/packages/microsoft.netframework.referenceasse......
  • python系列教程212
    声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值......
  • Maven学习
    1Maven介绍Maven就是是专门为Java项目打造的管理和构建工具,它的主要功能有:提供了一套标准化的项目结构;提供了一套依赖管理机制;提供了一套标准化的构建流程(编译,测试,打包,发布……)。1.1Maven项目结构一个使用Maven管理的普通的Java项目,它的目录结构默认如下:项目的根目录a......
  • C++系列三:QT初识
    目录前言QT介绍前言开发环境,挺折腾人,一波三折。参考链接:C语言中文网、QT快速入门官方文档QT介绍跨平台的GUI。主要用于桌面程序开发和嵌入式开发。目前Qt的开源授权有两种,一种是GPL授权,另一种是LGPL授权QML主要用于手机移动应用程序Windows下的GUI解决方案......