没有指定scope,说明scope是compile。
test:测试使用
test是指在运行测试用例的时候才会用到,没必要打入到最后的jar里面,测试框架的scope基本上都是test。
provided:编译的时候会用到,但不会被打入最后的jar包
示例:
如想把spring boot项目以war包的形式放在tomcat中运行,首先得加入如下依赖:
org.springframework.boot
spring-boot-starter-tomcat
provided
比如lombok插件的Maven是如下形式,说明它只会编译的时候会用到。
org.projectlombok
lombok
1.18.20
provided
runtime:编译不需要,运行时才需要(接口与实现分离)
如果你的项目有对数据库的操作,但没有加入相应的JDBC的实现jar包,如mysql-connector-java,是可以编译成功的,只有运行时才会报错。所以你看到的JDBC实现的jar包scope为runtime,表明这个jar包在运行时才会用到
mysql
mysql-connector-java
8.0.11
runtime
system:加载本地jar
system,本地加载jar,当你和第三方公司合作,他们只是给了你一个jar包时,可以:
打开全栈工匠技能包-1小时轻松掌握SSR
两小时精通jq+bs插件开发
生产环境下如歌部署Node.js
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
网易内部VUE自定义插件库NPM集成
谁说前端不用懂安全,XSS跨站脚本的危害
webpack的loader到底是什么样的?两小时带你写一个自己loader