【发布时间】:2012-08-29 15:29:13
【问题描述】:
【问题讨论】:
-
谢谢韦斯,这个问题确实很相关。可惜我还是不明白!我会为 servlet-api 之类的依赖项使用“提供”,而不是“运行时”。如果可能的话,我希望看到一个真实的例子,其中使用“运行时”比“编译”和“提供”更好!
-
John Stauffer 的回答提到的 JDBC Driver 就是一个很好的例子。另一个例子可以是 SLF4J。您只需要 slf4j-api 进行编译,并且应该避免将 slf4j-log4j12(或其他类型的绑定)作为编译范围依赖项。 slf4j-log4j12 是运行时依赖的良好候选者。
-
为什么?是因为 slf4j-log4j12 应该在应用服务器的类路径中吗?我已经知道权力会否决这个。
-
@user447607:不——这将(理论上)允许您切换
slf4j绑定,而无需重新编译应用程序。
标签: maven