2016-07-25 96 views
0

我已從此link下載了NER的最新版本。然後解壓後,我運行了這個命令。NER CRF,線程「main」中的異常java.lang.NoClassDefFoundError:org/slf4j/LoggerFactory

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

這不工作,並得到以下異常。

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 

在文件夾,斯坦福-NER-2015年12月9日有另一個文件夾LIB它已經包含SLF4J庫,但它仍然不是上面的命令執行。我剛剛下載並解壓縮文件,然後運行該命令來創建模型,但此例外即將到來。如果你能幫助我,我會很感激你。

+0

但庫存在,那麼它仍然是給同樣的錯誤。 –

+0

你在哪裏指定classpath中的stanford-ner-2015-12-09 \ lib? – sidgate

+0

您在類路徑中缺少庫(具體來說,[SLF4J](http://www.slf4j.org/),但如果包含該庫,可能會有更多缺少的庫)。只是你有一個「libs」目錄並不意味着它會自動包含在類路徑中。 – Jesper

回答

5

你可以嘗試

UNIX:

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

的Windows:

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

使用LINUX但不能在Windows上使用。 –

+0

嘗試java -classpath「。; c:\ path_to_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 我試過這個,但在Windows上有同樣的例外。 –

相關問題