我有一个具有静态最终方法的类。[说 A、B、C]。
C 调用另一个类 D[D 的包在 C 中导入]。
我没有包 D 的 maven 程序集 jar [say M.jar]。在运行时,当我尝试在类路径中调用具有 M.jar 的 A 时,出现 noclasdef 错误,说 D 不存在。
为什么我会得到这个?
package TEST1
import test.CHECK.TestA;
import test.CHECK.TestB;
class Factory
{
final static A()
{
//some ref to test.CHECK.TestA
}
static B()
{
//some ref to test.CHECK.TestB
}
static C()
{
}
我有包含此类的 jar,并在该 jar 中打包 test.CHECK.TestB。但是,这个 jar 不包含 test.CHECK.TestA。
现在,我的客户端程序有这个 jar 调用C()
。然后,为 TestA 获取 ClassNotFoundException,尽管我们没有调用 A()。为什么会这样?