java - 清理项目后出现 NoSuchMethodError

标签 java ant nosuchmethoderror

我目前收到此错误:

java.lang.NoSuchMethodError: org.json.JSONObject.keySet()Ljava/util/Set;
at ee.ut.cs.Parser.accessLint(Parser.java:39)

我尝试清理该项目,但没有成功。

我怀疑在创建 jar 文件时 src/plugin/parse-htmlraw/build.xml 中有错误,但我不确定。我知道这个错误是因为该函数在运行时不存在,但创建了对象,这意味着该类存在,只是不存在该函数。我反编译了创建的 jar 中的 .class 文件,它具有必要的功能。

代码可在 https://github.com/jaansusi/WCAGgrader 获取

问:产生此错误的构建出了什么问题?

问题是,即使我将必要的类文件放入我创建的 jar 中,它们也没有正确链接,并且 jar 中调用的类无法找到其他类中的函数。创建了类对象 JSONObject,但找不到 JSONObject 类内部的函数。

最佳答案

如果您没有找到有问题的版本,则有可能从以下依赖项中获取它(特别是如果您使用 Spring) -

<artifactId>android-json</artifactId>
<groupId>com.vaadin.external.google</groupId>

排除它对我有用,

  • 分析依赖关系的一种简单方法是 Intellij 中的 maven-helper 插件,请参阅 here

关于java - 清理项目后出现 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30726087/

相关文章:

java - Xpath 获取 href 标签中匹配文本的第二个 url

java - 使用 itText 将随机文件附加到 pdf

java - 使用 Java 和 ant 进行条件编译

ssl - 使用 javamail 发送邮件抛出 NoSuchMethodError : sun. security.ssl.SessionId.checkLength

java - 如何使用 Java Swing 创建图像映射?

java - apache ant - 没有指定源文件和包

linux - 从 Ant tar 任务打包的 .tar.gz 中提取时对包含非拉丁字符的文件名进行编码

android - 即使模拟器正在运行也找不到设备

带有@PreAuthorize 注解的java.lang.NoSuchMethodError

java.lang.NoSuchMethodError : org. apache.poi.hssf.usermodel.HSSFWorkbook.getCreationHelper()Lorg/apache/poi/hssf/usermodel/HSSFCreationHelper;