Stanford CoreNLP中的错误:java.lang.NoClassDefFoundError

2022-04-22 00:00:00 stanford-nlp java
我下载了Stanford CoreNLP,当我运行他们的website中给出的代码时。我在此行中遇到错误

StanfordCoreNLP pipeline = new StanfordCoreNLP(props);

错误如下

Exception in thread "main" java.lang.NoClassDefFoundError: nu/xom/Node at sample1.main(sample1.java:35)
Caused by: java.lang.ClassNotFoundException: nu.xom.Node
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more

我使用的是Eclipse IDE,我应该进行一些配置吗?请帮帮我!


解决方案

我已经从您提供的链接下载了Stanford-corenlp-2012-01-08.tgz。我使用7-Zip对其进行了解压缩,找到了另一个名为Stanford-corenlp-2012-01-08的压缩文件,并再次使用7-Zip将其解压缩。具体内容如下:

然后我在eclipse中创建了一个新的Java项目,并在该项目中创建了一个新的文件夹库,并将

  • joda-time.jar
  • stanford-corenlp-2011-12-27-models.jar
  • Stanford-corenlp-2012-01-08.jar
  • xom.jar

罐子到了库里。然后将项目的Java构建路径设置为这些JAR。

接下来,我使用Main方法创建了一个测试类。

import java.util.Properties;

import edu.stanford.nlp.pipeline.StanfordCoreNLP;


public class NLP {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
        StanfordCoreNLP coreNLP = new StanfordCoreNLP(props);
    }

}

,最后运行应用程序。输出如下所示:

运行成功。

希望这将对您有所帮助。

相关文章