可能的重复:
了解编译时依赖关系与运行时依赖关系 https://stackoverflow.com/questions/7070570/understanding-compile-vs-run-time-dependencies
我知道具有“运行时”范围的依赖项将在运行时可用,而不是在编译时可用。但我不明白为什么你会想要那个!为什么不简单地使用“编译”范围呢?
The docs http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope并没有真正的帮助。任何想法?
runtime
对于单元测试和运行时所需的依赖项很有用,但在编译时则不起作用。这通常可能是动态加载的代码,例如 JDBC 驱动程序,它们不会在程序代码中直接引用。
将依赖设置为provided
确保代码中不会出现意外的依赖关系,并且还可以防止依赖关系具有传递性。例如,如果模块 A 有一个provided
依赖于库 X,模块 B 依赖于模块 A,它确实not继承对库 X 的依赖。使用“运行时”或“编译”would导致B依赖于X。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)