Jsoup Web抓取给了我java.lang.NoClassDefFoundError指向我声明我的文档的行,我不确定为什么吗?

问题描述

下面我有一些Jsoup代码,我只是试图从币库中建立抓取,但是由于某种原因,它会在标题中引发错误,有人知道我在做什么错吗?

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();
                
        }
        
    }
}

解决方法

如果使用的是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,也可以使用gradle init将gradle添加到现有项目中。您可能需要重新启动IDE,IDE才能识别新添加的配置。

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

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