我在我的类路径中加载了一个jar(在iReport中,如果它很重要),我确信我有所需的方法但是当我尝试测试连接时,因此调用jar,我得到一个java.lang.NoSuchMethodError,说它正在引用班级
Lorg/springframework/web/context/WebApplicationContext
Run Code Online (Sandbox Code Playgroud)
我不确定这是否与问题有关,但开头的'L'从何而来?另一次我引用了一堂课,课后有一个'V'.这些信件来自哪里,它们是什么意思?
堆栈跟踪的开始:
java.lang.NoSuchMethodError:
org.springframework.web.context.ContextLoader
.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;
Run Code Online (Sandbox Code Playgroud)
jan*_*nko 26
Java使用这些字母在内部对方法签名进行编码.例如,"L"宣布以下"对象",该对象由其完整的类名称指定,后跟分号."V"应该在括号前面,并描述返回类型"void".
举个例子:
java.lang.NoSuchMethodError:
org.springframework.web.context.ContextLoader .getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;
它说,有在类中没有方法org.springframework.web.context.ContextLoader
称为getCurrentWebApplicationContext
不接受任何参数[记()
]并返回一个对象(通过宣布L
称为`组织/ springframework的/网络/上下文/ WebApplicationContext的(通过关闭";")).
编辑:所有代码的列表在JNI规范的表3.2中.
EDIT2:更具权威性:第4.3节JVM规范的描述符包含格式和代码的完整参考.
该L
字符用于表示Java内部类规范中的类名.
有关详细信息,请参阅Java VM规范.
和一个字段类型的表:
BaseType
B byte (signed byte)
C char (Unicode character)
D double (double-precision floating-point value)
F float (single-precision floating-point value)
I int (integer)
J long (long integer)
L<classname>; reference (an instance of class <classname>)
S short (signed short)
Z boolean (true or false)
[ reference (one array dimension )
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4287 次 |
最近记录: |