maven scope 关键字

Posted wei198621

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven scope 关键字相关的知识,希望对你有一定的参考价值。

pom scope 总结

https://blog.csdn.net/LittleFly_/article/details/79476345
https://www.jianshu.com/p/7145f01ac3ad

要了解 项目各个阶段

关键字编译测试运行打包示例备注
compile
testjunit测试代码的编译和执行,不会被打包,
runtimeJDBC驱动
providedservlet /lombok/tomcatprovided意味着打包的时候可以不用包进去,别的设施(Web Container)会提供
system同provided,不过被依赖项不会从maven仓库抓,而是从本地文件系统拿,一定需要配合systemPath属性使用。不推荐使用system依赖。
import

provided 示例

lombok

    <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.16.18</version>
          <scope>provided</scope>
    </dependency>

Lombok的scope=provided,说明它只在编译阶段生效,不需要打入包中。事实正是如此,Lombok在编译期将带Lombok注解的Java文件正确编译为完整的Class文件。

system 示例

open-core

<dependency>
    <groupId>org.open</groupId>
    <artifactId>open-core</artifactId>
    <version>1.5</version>
    <scope>system</scope>
    <systemPath>${basedir}/WebContent/WEB-INF/lib/open-core.jar</systemPath>
</dependency>

含义:system 元素与 provided 元素类似,但是被依赖项不会从 maven 仓库中查找,而是从本地系统中获取,systemPath 元素用于制定本地系统中 jar 文件的路径。例如:

import 示例

https://www.jianshu.com/p/7145f01ac3ad
https://blog.csdn.net/mn960mn/article/details/50894022
https://blog.csdn.net/baidu_36124158/article/details/103988630

以上是关于maven scope 关键字的主要内容,如果未能解决你的问题,请参考以下文章

Maven学习总结(60)—— Maven 作用域 Scope 属性详解

maven 中 scope标签的作用(runtimeprovidedtestcompile 的作用)

MavenMaven之scope依赖范围

通俗易懂,Maven依赖pom中的scope详解

通俗易懂,Maven依赖pom中的scope详解

转载Maven依赖中的scope详解