NoClassDefFoundError 在不同的上下文中给我不同类型的消息
根据上下文,我的意思是,
上下文 1:
如果我删除 sapjco3.jar
,则消息为
java.lang.NoClassDefFoundError: com/xxx/xxx/AbapException
上下文 2: 如果我将 jar 文件添加到 webapp lib 中,则消息为
java.lang.NoClassDefFoundError: com.xxx.xxx.CpicDriver
我知道在运行时找不到类时会抛出java.lang.NoClassDefFoundError
。
但是为什么在消息中表示类时存在差异,即使用斜杠(路径)和点(包)?
最佳答案
如果您查看 javadoc 的 NoClassDefFoundError exception,您会看到它有两个构造函数,其中之一接受消息作为参数。
因此,未找到的类的名称格式取决于引发异常的代码。
我不知道sapjco,但也许这两个类是由不同的类加载器加载的......
关于java - NoClassDefFoundError 消息因上下文而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10413644/