10
程序在编译过程中可以依赖库,但运行时不依赖库吗?
我了解运行时和编译时之间的区别以及如何区分两者,但是我只是看不到需要区分编译时和运行时依赖项。 我正在cho的是:程序如何在运行时不依赖于编译期间依赖的东西?如果我的Java应用程序使用log4j,则它需要log4j.jar文件才能进行编译(我的代码与log4j集成并从其中调用成员方法)以及运行时(我的代码绝对无法控制log4j内的代码一旦发生了什么.jar已运行)。 我正在阅读诸如Ivy和Maven之类的依赖项解析工具,这些工具显然可以区分这两种类型的依赖项。我只是不明白它的需要。 任何人都可以给出一个简单的“国王的英语”类型的解释,最好给出一个实际的例子,即使像我这样的可怜的树液也能理解?