123

可能的重复:
了解编译与运行时的依赖关系

我知道具有“运行时”范围的依赖项将在运行时而不是在编译时可用。但我不明白你为什么想要那个!为什么不简单地使用“编译”范围呢?

文档并没有真正帮助。任何的想法?

4

1 回答 1

155

runtime 对于单元测试和运行时所需的依赖项很有用,但在编译时则不然。这通常可能是动态加载的代码,例如 JDBC 驱动程序,它们在程序代码中没有直接引用。

将依赖项设置为运行时可确保不会意外依赖代码,并且还可以防止依赖项具有传递性。因此,例如,如果模块 A 对库 X 有运行时依赖,而模块 B 依赖于模块 A,则它不会继承对库 X 的依赖。使用“提供”或“编译”导致 B 依赖于 X .

于 2012-09-05T02:02:11.763 回答