微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么“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节包含格式和代码的完整参考.

原文地址:https://www.jb51.cc/java/123310.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐