首页 > 解决方案 > Jsoup web scrape 给了我 java.lang.NoClassDefFoundError 指向我声明文档的行,我不知道为什么?

问题描述

下面我有一些 Jsoup 代码,我只是想从 coinbase 建立抓取,但由于某种原因,它会在标题中抛出错误,有谁知道我做错了什么?

import java.io.IOException;
import org.jsoup.*;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class Main {

    public static void main(String[] args) 
    {
    
        try {
            Document doc = Jsoup.connect("https://www.coinbase.com/dashboard").get();
        
            System.out.println(doc.outerHtml());
        
            System.out.println();
        }catch(IOException e)
        {
        
            e.printStackTrace();
                
        }
        
    }
}

标签: javaweb-scrapingjsoup

解决方案


如果您使用的是 IntelliJ Community Edition 之类的 IDE,则可以创建一个 Gradle 项目。将以下内容复制到build.gradle并更新group

plugins {
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.jsoup:jsoup:1.10.2'
}

单击 gradle 选项卡(通常是右侧),然后单击“刷新”按钮,或转到内置终端 ( Alt+ F12) 并执行gradle clean build。这些过程中的任何一个都会触发将依赖项下载到应用程序。

gradle init假设您已安装gradle,您还可以将 gradle 添加到现有项目中。您可能需要重新启动 IDE,IDE 才能识别新添加的配置。

使用这样的构建工具可以使导入库依赖项变得简单得多

现在,如果您尝试在 IDE 中运行 main 方法,它应该可以工作。


推荐阅读