【发布时间】:2015-11-03 09:30:53
【问题描述】:
我正在使用斯坦福解析器 API。我的系统规格如下:
操作系统:Win8
IDE:.IntelliJIdea14
JDK:1.8
斯坦福解析器 3.5.2 版本
我在模块依赖项(ClassPath)中导入了 stanford-parser.jar 和 ejml-0.23.jar。 有一些解析器模型保存在名为 stanford-parser-3.5.2-models 的 jar 文件中。
斯坦福支持团队说:
"在最近的发行版中,模型都包含在一个jar文件里面 解析器分布。例如,在 2012-11-12 分发中, 模型包含在 stanford-parser-2.0.4-models.jar 中 访问这些模型的最简单方法是将此文件包含在您的 类路径。然后解析器将能够从中读取模型 jar 文件。 "
但我无法导入 stanford-parser-3.5.2-models.jar 文件。于是我把它提取出来,把模型保存在D盘合适的地址,最后改了如下代码:
String parserModel = "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz";
LexicalizedParser lp = LexicalizedParser.loadModel(parserModel);
收件人
String parserModel = "D:\\ MasterofScience\\Tools\\Stanford Dependenct Tree\\models" +
"\\lexparser\\englishPCFG.ser.gz";
LexicalizedParser lp = LexicalizedParser.loadModel(parserModel);
但我给出了这些异常错误:
Exception in thread "main" java.lang.NoClassDefFoundError: edu/stanford/nlp/parser/lexparser/LexicalizedParser
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:119)
Caused by: java.lang.ClassNotFoundException: edu.stanford.nlp.parser.lexparser.LexicalizedParser
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)
... 6 more
即使我不更改代码,我也会收到相同的异常! 我该怎么办?
【问题讨论】:
-
程序正在一个不存在的文件夹中寻找一个类:
edu/stanford/nlp/parser/lexparser/LexicalizedParser
标签: java intellij-idea stanford-nlp