2016-06-27 4 views
0

를 사용하여 나는 boilerpipe 매우 새로운 오전 나는 다음과 같은 기본 코드 시도하고있다 :의 ClassNotFoundException : org.apache.xerces.parsers.AbstractSAXParser boilerpipe

package contentExtraction; 

import java.net.URL; 

import de.l3s.boilerpipe.extractors.ArticleExtractor; 

public class ContentExtractor { 

    public static void main(String[] args) throws Exception { 
     final URL url = new URL(
//    "http://www.l3s.de/web/page11g.do?sp=page11g&link=ln104g&stu1g.LanguageISOCtxParam=en" 
      "http://www.dn.se/nyheter/vetenskap/annu-godare-choklad-med-hjalp-av-dna-teknik" 
      ); 

     System.out.println(ArticleExtractor.INSTANCE.getText(url)); 
    } 

} 

을하지만 할 때 나는 다음과 같은 오류를 얻고있다 위의 코드 조각을 실행

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xerces/parsers/AbstractSAXParser 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at de.l3s.boilerpipe.sax.BoilerpipeSAXInput.getTextDocument(BoilerpipeSAXInput.java:51) 
    at de.l3s.boilerpipe.extractors.ExtractorBase.getText(ExtractorBase.java:69) 
    at de.l3s.boilerpipe.extractors.ExtractorBase.getText(ExtractorBase.java:87) 
    at contentExtraction.ContentExtractor.main(ContentExtractor.java:16) 
Caused by: java.lang.ClassNotFoundException: org.apache.xerces.parsers.AbstractSAXParser 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 16 more 

나는 오류를 봤 및 this link을 가로 질러왔다. 나는 내 의존성에 xercesImpl.jar가 없다고 생각했다. 나는 동일한 코드를 포함하고있다. 이슈가 뭐야?

답변

6

나는 해결책을 직접 고안했다. boilerpipe jar에는 추가 종속성이 있습니다. 나는 받는다는 프로젝트에 내 프로젝트를 변환 종속성을 포함 :

<dependency> 
    <groupId>com.syncthemall</groupId> 
    <artifactId>boilerpipe</artifactId> 
    <version>1.2.1</version> 
</dependency> 

나는 위의 프로젝트를 빌드 할 때 나는 메이븐 종속성 폴더에 가져 실제로 4 단지가 볼 수

boilerpipe-1.2.1.jar
nekohtml-1.9.18.jar
xercesImpl-2.11.0.jar
xml-apis-1.4.01.jar