随笔- 100  文章- 0  评论- 3  阅读- 30321 

  很奇怪的就是本地的jar一直没有被引用到项目中,后面干脆使用了绝对路径的引用

        <dependency>
            <groupId>com.jun.cloud</groupId>
            <artifactId>jun-opentsdb-client</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>C:/Users/jun/respotory/com/jun/cloud/jun-opentsdb-client/1.0/jun-opentsdb-client-1.0.jar</systemPath>
        </dependency>

 

问题:

  maven 的<dependency>的scope属性可以为system,因为有些你依赖的jar包可能是没有maven坐标的,它完全不在maven体系中,这时候你可以把它下载到本地硬盘,然后通过system来引用

  不过不推荐使用system,因为一个项目的pom.xml如果使用了scope为system的depend后,会导致传递依赖中断,即所有其他依赖本项目的项目都无法传递依赖了。

  比如:假设A项目依赖了m.jar, n.jar, x.jar, 然后我们把A项目打包成了a.jar, 如果此时B项目依赖了A项目,则B项目通常自然就已经默认传递依赖了m.jar, n.jar, x.jar。但是如果A项目的pom.xml文件出现了scope为system的depend,则B项目就只能依赖a.jar, 将无法传递依赖m.jar, n.jar, x.jar

 

ps:

  只适合很奇怪的场景下,先测试使用

 posted on   曹军  阅读(1435)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示