当前位置: 首页 > 面试题库 >

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

毛德曜
2023-03-14
问题内容

我在我的类路径(如果重要的话,在iReport中)中加载了一个jar,可以肯定它具有所需的方法,但是当我尝试测试连接时,因此调用了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”表示后面的“ Object”,该“ Object”由其完整类名指定,后跟一个分号。“
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中。

编辑2:
更具权威性:4.3节JVM规范的描述符包含格式和代码的完整参考。



 类似资料:
  • 我想在共享主机中安装laravel,我遵循了这里的步骤https://stackoverflow.com/a/28449523 但是我的资产路径不包括公共目录 而不是这个 我明白了 如何在不更改任何核心类的情况下更改资产文件夹的目录(将public添加到资产)?

  • 问题内容: 我对git和詹金斯都很陌生。 我将密钥添加到bitbucket和本地计算机中时: 我可以克隆。 但是,当我将相同的url()添加到Jenkins存储库url时,出现以下错误: 问题答案: 您还需要为Jenkins用户设置ssh密钥。 通常的想法是,您登录到Jenkins框,并成为“ jenkins”用户。您可以为您的Jenkins用户打电话,所以请确保使用正确的名称。一旦成为Jenki

  • 问题内容: 我想在Linux PATH中添加一个小脚本,因此不必在实际放置在磁盘上的地方实际运行它。 该脚本非常简单,它是关于通过代理赋予apt-get访问权限的,我使它像这样: 然后,我将其保存为apt-proxy.sh,将其设置为+ x(chmod),当我位于该文件所在的目录中时,一切正常。 我的问题是:如何将此 apt-proxy 添加到 PATH, 以便实际上可以将其称为真正的apt-ge

  • 问题内容: 我试图找出为什么找不到使用using安装的我和/或包装器。我认为是因为它没有添加到我的PATH中: 和: 我安装使用PIP和使用,没有任何问题。我尝试重新安装,但这也没有用。我如何知道要添加的路径?只是似乎安装到的路径?那似乎是: 我还找到了本指南,该指南建议: 但是,这并不能帮助我运行。我在Mac OSX 10.7.5(Lion)上。 问题答案: 似乎我自己是几乎所有“简单”安装过程

  • 我有一个过滤器: 如果不是WebFlux,那么我会这么做: 但这是不可能做到这一点,因为请求身份过滤器实现WebFilter... 如何使用WebFilter Spring WebFlux指定过滤器的必要路径?

  • 我想在linux路径中添加一个小脚本,这样我就不必在磁盘上实际运行它。 这个脚本非常简单,是关于通过代理提供apt-get访问权限的,我是这样做的: 然后我将其保存为apt代理。sh,将它设置为x(chmod),当我在这个文件所在的目录中时,一切都正常工作。 我的问题是:如何将这个apt-代理添加到PATH中,这样我就可以实际调用它,就好像它是真正的apt-get一样?[从任何地方] 寻找命令行唯