运行 最新版本的 stanford-postagger 3.6.0 时出现 ClassNotFoundException

ClassNotFoundException when running newest version of stanford-postagger 3.6.0

我找到了 Stanford pos tagger,并想在我正在进行的项目中使用它。 不幸的是,当我尝试 运行 时出现以下错误:

Exception in thread "Thread-0" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at edu.stanford.nlp.io.IOUtils.(IOUtils.java:41) at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:765) at edu.stanford.nlp.tagger.maxent.MaxentTagger.(MaxentTagger.java:298) at edu.stanford.nlp.tagger.maxent.MaxentTagger.(MaxentTagger.java:263) at edu.stanford.nlp.tagger.maxent.MaxentTaggerGUI.run(MaxentTaggerGUI.java:89) Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 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) ... 5 more

无论是 运行在 eclipse、命令行还是 gui 中都发生了同样的错误。

我在搜索解决方案并尝试了许多没有帮助的解决方案后发现,以前的版本 3.5.2 运行s 很好,没有错误,所以我现在将恢复到以前的版本。

会不会是新版本有问题?

我们已将 slf4j 日志添加到我们的版本中。在 3.6.0 中有一个名为 lib 的文件夹需要添加到 CLASSPATH 中。