最佳答案
我理解运行时和编译时之间的区别,以及如何区分两者,但是我不认为有必要区分编译时和运行时 依赖关系。
令我窒息的是: 一个程序 不依赖如何能够在运行时处理它在编译过程中所依赖的东西?如果我的 Java 应用程序使用 log4j,那么它需要 log4j.jar 文件来编译(我的代码集成并调用 log4j 内部的成员方法)和运行时(我的代码完全无法控制一旦运行 log4j.jar 内部的代码会发生什么)。
我正在阅读 Ivy 和 Maven 等依赖解析工具,这些工具清楚地区分了这两种类型的依赖。我只是不明白有什么必要。
有人能给出一个简单的,“国王的英语”类型的解释,最好是一个实际的例子,即使像我这样一个可怜的傻瓜可以理解?