spring boot 项目添加maven依赖时provided
spring boot 项目是自带tomcat 的,但是我们有时候是需要把项目打包成war 然后放到独立的tomcat中运行的,这个时候我们就需要将它自带的tomcat给排除开,这时候我们就可以使用<scope>provided</scope>来实现
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用。比如说,我们开发了一个web 应用,在编译
classpath 中需要可用的Servlet API 来编译一个servlet,但是我们并不需要打包好的WAR 中包含这个Servlet API,因为这个
Servlet API JAR 可以由我们的应用服务器或者servlet 容器提供。<scope>provided</scope>提供范围的依赖在编译classpath的
时候是可用的,这种依赖不是传递性的,当然也不会被打包到war当中
我们来看一下scope的几个属性详解:
1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit。
3.runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段。
4.provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作。
5.system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径。
---------------------
原文:https://blog.csdn.net/huangyuehong914/article/details/82252607
相关文章
- Spring Boot JPA 中transaction的使用
- Spring Cloud Gateway 实现Token校验
- 8 -- 深入使用Spring -- 3...1 Resource实现类UrlResource
- 深入实践Spring Boot1.2.1 使用Maven新建项目
- 深入实践Spring Boot1.3 使用Spring Boot
- 深入实践Spring Boot1.3.1 Maven依赖管理
- 深入实践Spring Boot1.6 小结
- Spring Boot-Error:(3, 32) java: 程序包org.springframework.boot不存在
- springboot错误1 Failed to execute goal org.springframework.boot:spring-boot-maven-plugin
- spring计划任务,springMvc计划任务,Spring@Scheduled,spring定时任务
- CentOS7 下 配置Docker远程访问 与 windows下使用maven构筑Spring Boot 的 Docker镜像到远程服务端
- spring框架漏洞整理(Spring Boot Actuator命令执行漏洞)
- Spring_错误 java.sql.SQLException: Lock wait timeout exceeded | CannotAcquireLockException 的解决
- [转]Spring Boot——2分钟构建spring web mvc REST风格HelloWorld
- mvn打包spring工程成jar时报Unable to locate Spring NamespaceHandler for XML schema namespace错误解决办法
- 【spring-security】spring-security MAVEN坐标
- spring mvc DispatcherServlet详解之前传---FrameworkServlet
- eclipse中配置maven和创建第一个 Spring Boot Application
- Spring学习笔记(一)---概念入门
- 【SpringBoot】Maven 版本管理与 flatten-maven-plugin 插件的使用及分析