maven scope的汇总

1、自建 starter 的一些关于 maven 的记录。

可以减小 jar 包的大小,不做依赖传递

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
<!--    依赖 传递  true, 不传递。 默认是false-->
    <optional>true</optional>
</dependency>

控制 依赖的使用范围

常见的有 compile, provided, runtime, test, system 等

  • compile

    • 默认值
  • test

    • 仅参与测试环节,在编译、运行、打包时不会使用
  • runntime

    • 适用于运行和测试环节
  • provided -已提供

    • 在编译和测试的环境,和compile功能相似,但provide仅在编译和测试阶段生效,provide不会被打包,也不具有传递性。
  • system

    • 同 provided,但是 依赖 从 本地 获取

    • 结合systemPath 使用

    • <dependency>
        <groupId>sun.jdk</groupId>
        <artifactId>tools</artifactId>
        <version>1.5.0</version>
        <scope>system</scope>
        <systemPath>${java.home}/../lib/tools.jar</systemPath>
      </dependency>
      

参考:

https://zhuanlan.zhihu.com/p/325550529

posted @   小烽  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
历史上的今天:
2018-09-02 设计模式九 观察者模式
点击右上角即可分享
微信分享提示