在pom.xml中引入jar包坐标的依赖范围

A依赖B,需要在A的pom.xml文件中添加B的坐标,添加坐标时需要指定依赖范围,依赖范围包括:

  • compile:编译范围,指A在编译时依赖B,此范围为默认依赖范围。编译范围的依赖会用在编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。
  • provided:provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用, provided依赖在编译和测试时需要,在运行时不需要,比如:servlet api被tomcat容器提供。(一般使用provided)
  • runtime:runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以runtime范围的依赖会被打包。
  • test:test范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用,比如:junit。由于运行时不需要所以test范围依赖不会被打包。
  • system:system范围依赖与provided类似,但是你必须显式的提供一个对于本地系统中JAR文件的路径,需要指定systemPath磁盘路径,system依赖不推荐使用。

  

在maven-web工程中测试各各scop。

测试总结:

  • 默认引入 的jar包 ------- compile 【默认范围 可以不写】(编译、测试、运行 都有效 )
  • servlet-api 、jsp-api ------- provided (编译、测试 有效, 运行时无效 防止和tomcat下jar冲突)
  • jdbc驱动jar包 ---- runtime (测试、运行 有效 )
  • junit ----- test (测试有效)

依赖范围由强到弱的顺序是:compile>provided>runtime>test

原文地址:https://www.cnblogs.com/wyhluckdog/p/10279330.html

时间: 2024-10-29 19:11:27

在pom.xml中引入jar包坐标的依赖范围的相关文章

pom.xml中排除quartz包

<dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>1.4.0</version> <!-- 排除掉里面的quartz包 --> <exclusions> <exclusion> <groupId>org.opensymphony.quartz

pom.xml中引入依赖(eclipse)

一.在pom.xml中添加依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> 后并不算完........ 二.需要再更新工程才能自动下载.引入mysql-connector-java.jar包 使用Maven管理工程,需要在工程上右键,选择Maven,选择update project s

idea中的pom文件中的jar包下载不了,手动下载jar包的方法

问题描述: 在pom文件中添加依赖的时候,程序怎么着都是下载不了,而且实验了各种方式: https://www.cnblogs.com/a8457013/p/7811519.html(可以参考,但是本人使用无效) 求取无果,只能自己下载到本地仓库在使用吧: 参考下面博客,可以将jar包下载然后安装到本地,非常感谢大家的分享:特此记录一笔. https://www.cnblogs.com/czy16/p/7569628.html http://www.cnblogs.com/tangshengwe

Maven pom.xml 添加本地jar包依赖以及打包方法

Maven项目打包时,如果遇到需要添加本地jar包依赖的时候,可以选择两种方法: 1. 安装到本地仓库 第一种方法比较常规,适用于需要添加的jar包也是由maven项目导出,含有pom文件的时候.只需要将jar包安装到本地maven仓库下,然后添加依赖即可. (1)安装到本地仓库,执行以下命令(其中的-Dfile/-DgroupId/-DartifactId/-Dversion项根据pom文件内容填写): mvn install:install-file -Dfile=xxxxx.jar -Dg

兔子--Android Studio中引入jar包

1.将jar包放入项目里的libs文件夹中. 2.在project选中jar包点击右键"Add as library". 3.项目的build.gradle文件里的dependencies节加入 会自动生成如下代码: { compile files('libs/android-support-v4.jar') compile files('libs/xxxx.jar') } 如果不能自动生成,就手动添加进去.

解决idea不能自动下载maven配置文件pom.xml下的jar包依赖的问题

表现:无法下载pom配置文件中的依赖包,或只能下载少数包,各项配置都正确的情况 理由未知: 百度了很长一段时间,网上给出比较精准的解决之一是 setting>>maven>>去掉work offline 的勾.(这里肯定是去掉勾的) 在刚开始百度时,work offine 是出于未被勾选的状态, 然后在网上不断百度,不断试验不同的处理方式, 例如:pom文件中有重复的依赖导致不能下载,等等(这也是可能性之一) 在经历几次重启 Intellij idea 和Invalidate ca

pom.xml中添加oracle数据库驱动包报错: Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0

pom.xml 加载jar包时报错:Missing artifact com.oracle:ojdbc14:jar:10.2.0.4.0. 由于oracle的ojdbc收费,所以在maven项目导入时没有ojdbc14-10.2.0.4.0.jar包. 解决方法: 配置本地库.下载jar包,把jar包放在仓库对应的文件夹ojdbc14\10.2.0.4.0\里,安装到本地仓库(需要事先配过maven的环境变量),在命令行工具中写如下命令,注意本地仓库位置一定要写对: mvn install:in

(转)如何在maven的pom.xml中添加本地jar包

1 maven本地仓库认识 maven本地仓库中的jar目录一般分为三层:图中的1 2 3分别如下所示: 1 groupId 2 artifactId 3 version 4 jar包的依赖 如果要将maven本地仓库中的jar包添加到项目中,直接打开4 xx.pom文件,将改jar包的相关依赖复制pom.xml文件中即可. 2 将本地jar包添加到本地仓库 2.1 添加jar到本地仓库 原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库

eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中

eclipse运行maven web项目报错: 信息: Starting Servlet Engine: Apache Tomcat/7.0.57 一月 07, 2015 11:50:44 下午 org.apache.catalina.core.ContainerBase startInternal 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catal