关于在哪里设置 Maven 依赖的 scope

原创
2016/12/28 12:22
阅读数 165

Maven 和依赖相关的配置有两个:一个是 dependencies、一个是 dependencyManagement。后者中的依赖除了可以配置版本号,也可以配置 scope,但一般不这么做。因为具体依赖的 scope 通常会留给具体的项目去配置。例如 JUnit,通常来说它的 scope 是 test,但是某些项目,比如 Spring Test 模块,JUnit 的 scope 就不是 test,而是默认的 compile。

使用 Maven 的一个实践经验是 dependencies 中的 scope 不可少(dependencyManagement 中不用配置)。实际工作中经常看到有些项目测试的依赖不指定 scope 为 test。这会导致项目最终的构件会包含一些不必要的依赖。一般情况下没有问题,但是项目规模大了之后,依赖冲突的问题就会频现。这些问题,多数时候只能在运行时发现,让人防不胜防。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部