2016-07-25 21 views
0

Ich habe die neueste Version für NER von dieser link heruntergeladen. Nach dem Extrahieren habe ich diesen Befehl ausgeführt.NER CRF, Ausnahme im Thread "Haupt" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

java -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop 

Dies funktioniert nicht und die folgende Ausnahme erhalten.

CRFClassifier invoked on Mon Jul 25 06:56:22 EDT 2016 with arguments: 
    -prop austen.prop 
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 
    at edu.stanford.nlp.io.IOUtils.<clinit>(IOUtils.java:42) 
    at edu.stanford.nlp.util.StringUtils.argsToProperties(StringUtils.java:942) 
    at edu.stanford.nlp.util.StringUtils.argsToProperties(StringUtils.java:891) 
    at edu.stanford.nlp.ie.crf.CRFClassifier.main(CRFClassifier.java:2994) 
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) 
    ... 4 more 

im Ordner -ner-Stanford 2015.12.09 gibt es einen anderen Ordner lib, es bereits slf4j Bibliotheken enthält, aber noch ist es nicht über Befehl ausgeführt wird. Ich habe gerade heruntergeladen und dann extrahiert Dateien und führen Sie diesen Befehl, um ein Modell zu machen, aber diese Ausnahme kommt. Ich werde Ihnen dankbar sein, wenn Sie mir helfen können.

+0

Aber Libs existieren und dann noch wird sie denselben Fehler geben. –

+0

Wo geben Sie Stanford-ner-2015-12-09 \ lib im Klassenpfad an? – sidgate

+0

Sie fehlen Bibliotheken im Klassenpfad (speziell [SLF4J] (http://www.slf4j.org/), aber wenn Sie das einschließen, werden wahrscheinlich mehr Bibliotheken fehlen). Allein die Tatsache, dass Sie ein "libs" -Verzeichnis haben, bedeutet nicht, dass es automatisch im Klassenpfad enthalten ist. – Jesper

Antwort

5

Können Sie versuchen

UNIX:

java -cp stanford-ner.jar:lib/*:. edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop 

Fenster:

java -cp stanford-ner.jar;lib/*;. edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop 
+0

Unter LINUX arbeiten, aber nicht unter Windows. –

+0

try java -classpath ".; C: \ pfad_zu_lib \ *" .... – dev

+0

java -classpath ".; C: \ stanford-ner-2015-12-09 \ lib \ *" -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop Ich habe dies aber dieselbe Ausnahme unter Windows versucht. –