为什么“L”被添加到我的Java路径?

前端之家收集整理的这篇文章主要介绍了为什么“L”被添加到我的Java路径?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个jar加载在我的类路径(在iReport如果重要),我确定有所需的方法,但是当我尝试测试连接,从而调用jar,我得到一个 java.lang.NoSuchMethodError,它正在引用班上
Lorg/springframework/web/context/WebApplicationContext

我不知道这是否与问题有关,但是“L”在哪里开始呢?另一次我参加一个班,班上有一个’V’.这些信件来自哪里,它们是什么意思?

堆栈跟踪开始:

java.lang.NoSuchMethodError:  
org.springframework.web.context.ContextLoader
.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;

解决方法

Java使用这些字母在内部对方法签名进行编码.例如,“L”宣布以下“对象”,其由完整的类名称指定,后跟分号. “V”应该在括号前面,并描述一种返回类型“void”.

举个例子:

java.lang.NoSuchMethodError:
org.springframework.web.context.ContextLoader
.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;

它说,org.springframework.web.context.ContextLoader类中没有方法调用getCurrentWebApplicationContext,它不接受任何参数[由()表示),并返回一个名为“org / springframework / web / context / WebApplicationContext(由’;’关闭).

编辑:所有代码的列表在JNI specs表3.2中.

EDIT2:更加有用:JVM规范的第4.3 Descriptors节包含格式和代码的完整参考.

猜你在找的Java相关文章