0

我在我的代码中使用了 stanford Parser。我已经在项目中添加了所有相关的库。当我在控制台上运行我的代码时,它工作得非常好。但是在使用选项“将所需的库复制到生成的 JAR 旁边的子文件夹中”创建源的“可运行 jar”并在命令提示符上运行相同的选项后,它会引发错误:

线程“Thread-2”中的异常java.lang.NoSuchMethodError:
edu.stanford.nlp.process.DocumentPreprocessor.(Ljava/io/Reader;)V at edu.stanford.nlp.tagger.maxent.MaxentTagger.tokenizeText(MaxentTagger. java:852) at edu.stanford.nlp.tagger.maxent.MaxentTagger.tokenizeText(MaxentTagger.java:837) 在我已经在类路径中提供了所有必需的库。MaxentTagger 中也存在方法 tokenizeText。请提出一些解决方案。

4

1 回答 1

1

这几乎可以肯定意味着您结合了解析器和标记器的不兼容版本。例如,插入到 jar 文件中的标记器版本可能与您在命令行上运行代码时拾取的版本不同。您使用的是什么版本的解析器和标记器?从堆栈跟踪中的行号来看,它似乎不是最新版本。

于 2012-02-08T05:03:11.403 回答