【问题标题】:ClassNotFoundException: org.apache.xerces.parsers.AbstractSAXParser when using boilerpipeClassNotFoundException: org.apache.xerces.parsers.AbstractSAXParser 使用锅炉管时
【发布时间】:2016-06-27 06:08:31
【问题描述】:

我对@9​​87654322@ 很陌生,我正在尝试以下基本代码:

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。我包含了相同的内容,但我的代码仍然给出了相同的错误。有什么问题?

【问题讨论】:

    标签: java boilerpipe


    【解决方案1】:

    我自己想出了解决方案。 boilerpipe jar 有更多的依赖关系。我将我的项目转换为 maven 项目,包括依赖项:

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

    当我构建上面的项目时,我可以看到实际上有 4 个 jars 被导入到 Maven Dependencies 文件夹中:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 2012-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多