Python java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory解決辦法
阿新 • • 發佈:2019-02-11
在使用NLTK中的Stanford Parser Python介面時,會遇到報錯資訊:
C:\Users\Acer>jython E:\jcode\test_stanford.py Traceback (most recent call last): File "E:\jcode\test_stanford.py", line 5, in <module> from stanford import StanfordParser, PySentence File "F:\jython2.5.2\Lib\stanford.py", line 65, in <module> from edu.stanford.nlp.parser.lexparser import LexicalizedParser java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at edu.stanford.nlp.parser.common.ParserGrammar.<clinit>(ParserGrammar.java:46) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.python.core.Py.loadAndInitClass(Py.java:895) at org.python.core.Py.findClassInternal(Py.java:830) at org.python.core.Py.findClassEx(Py.java:881) at org.python.core.packagecache.SysPackageManager.findClass(SysPackageMa nager.java:133) at org.python.core.packagecache.PackageManager.findClass(PackageManager. java:28) at org.python.core.packagecache.SysPackageManager.findClass(SysPackageMa nager.java:122) at org.python.core.PyJavaPackage.__findattr_ex__(PyJavaPackage.java:137) at org.python.core.PyObject.__findattr__(PyObject.java:863) at org.python.core.imp.import_name(imp.java:849) at org.python.core.imp.importName(imp.java:884) at org.python.core.ImportFunction.__call__(__builtin__.java:1220) at org.python.core.PyObject.__call__(PyObject.java:357) at org.python.core.__builtin__.__import__(__builtin__.java:1173) at org.python.core.imp.importFromAs(imp.java:978) at org.python.core.imp.importFrom(imp.java:954) at stanford$py.f$0(F:\jython2.5.2\Lib\stanford.py:465) at stanford$py.call_function(F:\jython2.5.2\Lib\stanford.py) at org.python.core.PyTableCode.call(PyTableCode.java:165) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.imp.createFromCode(imp.java:386) at org.python.core.imp.createFromPyClass(imp.java:204) at org.python.core.imp.loadFromSource(imp.java:567) at org.python.core.imp.find_module(imp.java:473) at org.python.core.imp.import_next(imp.java:713) at org.python.core.imp.import_name(imp.java:824) at org.python.core.imp.importName(imp.java:884) at org.python.core.ImportFunction.__call__(__builtin__.java:1220) at org.python.core.PyObject.__call__(PyObject.java:357) at org.python.core.__builtin__.__import__(__builtin__.java:1173) at org.python.core.imp.importFromAs(imp.java:978) at org.python.core.imp.importFrom(imp.java:954) at org.python.pycode._pyx0.f$0(E:\jcode\test_stanford.py:66) at org.python.pycode._pyx0.call_function(E:\jcode\test_stanford.py) at org.python.core.PyTableCode.call(PyTableCode.java:165) at org.python.core.PyCode.call(PyCode.java:18) at org.python.core.Py.runCode(Py.java:1261) at org.python.util.PythonInterpreter.execfile(PythonInterpreter.java:235) at org.python.util.jython.run(jython.java:247) at org.python.util.jython.main(jython.java:129) Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory at org.python.core.SyspathJavaLoader.findClass(SyspathJavaLoader.java:127) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 42 more java.lang.NoClassDefFoundError: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
解決辦法:參考本人另一篇博文“Python 呼叫 Stanford Parser 兩種方法”中的方法二:http://blog.csdn.net/huludan/article/details/50717110