我编写的 Java 程序在普通 Java 项目中运行时会出现 NoSuchMethodError,但在 J2EE Web 项目中运行时它运行正常。NoSuchMethodError 在我编写的方法上。它不使用任何网络工具。我不知道为什么会这样。关于为什么会发生这种情况的任何见解?此外,该程序不使用 J2EE 组件。偶然我在一个网络项目中运行它并且它运行良好。
使用的软件:1.Eclipse Indigo 3.7 2.jdk 1.7 ,jre7 3.Tomcat 7
编辑1:
Exception in thread "main" java.lang.NoSuchMethodError:x.y.opinion.db.SentenceAccumulator.addSentenceForDocuId(ILcom/google/api/translate/Language;)V
at com.x.y.repo.RepoBuilder.processDocument(RepoBuilder.java:350)
at com.x.y.db.DataLoadJob.loadData(DataLoadJob.java:382)
at com.x.y.db.loadDataFromBackEnd.loadData(loadDataFromBackEnd.java:51)
at com.x.y.db.loadDataFromBackEnd.loadBackEnd(loadDataFromBackEnd.java:28)
at sample.main(sample.java:37)
编辑 2.:当我调试程序时,它要求我添加 jar 的源文件。下面是说
// Compiled from RepoBuilder.java (version 1.6 : 50.0, super bit)
但它仅使用 1.7 编译。我很确定!