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 | 是 | 是 | 是 | 是 | ||
test | 是 | junit | 测试代码的编译和执行,不会被打包, | |||
runtime | 是 | 是 | 是 | JDBC驱动 | ||
provided | 是 | 是 | 是 | servlet /lombok/tomcat | provided意味着打包的时候可以不用包进去,别的设施(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 属性详解