2016-11-30 37 views
0

我试图以编程方式生成使用斯坦福解析器依赖树木,引导到运行ParserDemo发现在http://nlp.stanford.edu/software/parser-faq.shtml错误运行和编译ParserDemo2

下面我运行线路:

java -mx200m -cp "stanford-parser.jar:." ParserDemo2 englishPCFG.ser.gz testsent.txt 

导致

Could not find or load main class ParserDemo2 

这是有道理的,我需要编译,所以我跑

javac -cp "stanford-parser.jar:." ParserDemo2.java 

它生成一个.class文件。

然而,当我运行使用上面的线,我得到:

java -mx200m -cp "stanford-parser.jar:." ParserDemo2 englishPCFG.ser.gz testsent.txt 
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
    at edu.stanford.nlp.parser.common.ParserGrammar.<clinit>(ParserGrammar.java:46) 
    at ParserDemo2.main(ParserDemo2.java:25) 
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 2 more 

我在做什么错?一些非常基本的东西?

回答

0

stanford-parser.jar,依赖于其他罐子。您需要将它们添加到类路径中。

+0

啊。我如何知道哪些罐子是? –

+0

maven回购说,它依赖于joda-time.jar,xom.jar,slf4j-api.jar等。请参阅https://repo1.maven.org/maven2/edu/stanford/nlp/stanford-corenlp/ 3.6.0/stanford-corenlp-3.6.0.pom和http://stanfordnlp.github.io/CoreNLP/faq.html – user1211

+0

谢谢!由于我没有足够的声誉,我无法对你的答案赞成 –