Stanford CoreNLP中的错误:java.lang.NoClassDefFoundError
我下载了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);
}
}
,最后运行应用程序。输出如下所示:
运行成功。
希望这将对您有所帮助。
相关文章