Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
可能的重复: 了解编译与运行时的依赖关系
我知道具有“运行时”范围的依赖项将在运行时而不是在编译时可用。但我不明白你为什么想要那个!为什么不简单地使用“编译”范围呢?
文档并没有真正帮助。任何的想法?
runtime 对于单元测试和运行时所需的依赖项很有用,但在编译时则不然。这通常可能是动态加载的代码,例如 JDBC 驱动程序,它们在程序代码中没有直接引用。
将依赖项设置为运行时可确保不会意外依赖代码,并且还可以防止依赖项具有传递性。因此,例如,如果模块 A 对库 X 有运行时依赖,而模块 B 依赖于模块 A,则它不会继承对库 X 的依赖。使用“提供”或“编译”将导致 B 依赖于 X .