2017-03-20 11 views
-1

또한 Jena RDF API를 사용하는 Java 프로젝트에서 스탠포드 POS 태그 지정자 3.7.0을 사용하고 있습니다. 예나는 SLF4J-API-1.7.12.jar 및 SLF4J-log4j12-1.7.12.jar하지만이 필요 나는 다음과 같은 오류 얻을 클래스 경로에 그 항아리 갖는 POS 술래를 호출 할 때 :스탠포드 POS 태그 지정자가 클래스 경로에서 SLF4J와 작동하지 않습니다.

Exception in thread "main" java.lang.ExceptionInInitializerError 
    at edu.stanford.nlp.util.logging.Redwood$ConsoleHandler.out(Redwood.java:920) 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration.<init>(RedwoodConfiguration.java:28) 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration.empty(RedwoodConfiguration.java:385) 
    at util.Splitter.split(Splitter.java:58) 
    at core.Main.main(Main.java:23) 
Caused by: java.lang.IllegalStateException: Could not find SLF4J in your classpath 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration$Handlers.lambda$static$530(RedwoodConfiguration.java:190) 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration$Handlers$7.buildChain(RedwoodConfiguration.java:309) 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration$Handlers$7.apply(RedwoodConfiguration.java:318) 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration.lambda$handlers$535(RedwoodConfiguration.java:363) 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration.apply(RedwoodConfiguration.java:41) 
    at edu.stanford.nlp.util.logging.Redwood.<clinit>(Redwood.java:609) 
    ... 5 more 
Caused by: edu.stanford.nlp.util.MetaClass$ClassCreationException: java.lang.ClassNotFoundException: edu.stanford.nlp.util.logging.SLF4JHandler 
    at edu.stanford.nlp.util.MetaClass.createFactory(MetaClass.java:364) 
    at edu.stanford.nlp.util.MetaClass.createInstance(MetaClass.java:381) 
    at edu.stanford.nlp.util.logging.RedwoodConfiguration$Handlers.lambda$static$530(RedwoodConfiguration.java:186) 
    ... 10 more 
Caused by: java.lang.ClassNotFoundException: edu.stanford.nlp.util.logging.SLF4JHandler 
    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) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:264) 
    at edu.stanford.nlp.util.MetaClass$ClassFactory.construct(MetaClass.java:135) 
    at edu.stanford.nlp.util.MetaClass$ClassFactory.<init>(MetaClass.java:202) 
    at edu.stanford.nlp.util.MetaClass$ClassFactory.<init>(MetaClass.java:69) 
    at edu.stanford.nlp.util.MetaClass.createFactory(MetaClass.java:360) 
    ... 12 more 

I을 similar problem을 가진 사람들이 classpath에서 SLF4J를 제거하여 해결했다고 보았습니다. 사실, 항아리를 제거하면 POS 태거가 잘 작동하지만 Jena는 작동을 멈 춥니 다.

SLF4J를 클래스 경로에 유지하면서 POS 태거가 작동하도록하는 방법이 있습니까?

+0

버그 수정을하거나 3.6을 사용하십시오. – Andreas

답변

0

나는이 문제가 없지만 모든 POS 태깅 기능을 갖춘 완전한 스탠포드 CoreNLP 3.7.0 릴리스를 사용하는 것이 가장 좋은 해결책이라고 생각합니다.

전체 다운로드는 여기에 있습니다 :

http://stanfordnlp.github.io/CoreNLP/download.html

이 문제

우리가 초여름에 출시하려고합니다 스탠포드 CoreNLP 3.8.0 독립 실행 형 분포에서 해결해야한다.