5

我下载了 Stanford CoreNLP 并运行了他们网站上给出的代码。我在这一行得到一个错误

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,我应该做一些配置吗?请帮我解决它!

4

4 回答 4

30

我已经从您提供的链接下载了 stanford-corenlp-2012-01-08.tgz。我使用 7-zip 解压它并找到另一个名为 stanford-corenlp-2012-01-08 的压缩文件,然后再次使用 7-zip 解压它。内容如下图: 在此处输入图像描述

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

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

jar 到 lib。然后将项目 Java Build Path 设置为这些 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);
    }

}

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

在此处输入图像描述

它运行成功。

希望这会帮助你。

于 2012-03-02T06:55:27.310 回答
1

我使用stanford-corenlp-full-2014-10-31遇到了同样的问题。

Tapas Bose 的回答非常好,但是对于这个当前版本(可能还有其他早期版本),您还需要包含另外两个 .jar 文件以消除错误:

  • ejml-0.23.jar
  • jollyday.jar

开发人员也在网站上更新了此信息:

要使用 Stanford CoreNLP 处理一个文件,请使用以下类型的命令行(将 JAR 文件日期扩展名调整为您下载的版本):

java -cp stanford-corenlp-VV.jar:stanford-corenlp-VV-models.jar:xom.jar:joda-time.jar:jollyday.jar:ejml-VV.jar -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP [ -props <YOUR CONFIGURATION FILE> ] -file <YOUR INPUT FILE>
于 2015-01-25T02:52:35.667 回答
1

您还需要添加 xom.jar 来构建路径。

于 2015-02-23T09:09:24.090 回答
0

请在您的库中包含 ejml-0.23.jar。

于 2017-05-21T20:16:06.603 回答