gpt4 book ai didi

java - Java Library编译后如何使用?

转载 作者:太空宇宙 更新时间:2023-11-04 10:01:14 25 4
gpt4 key购买 nike

我意识到这可能是一个非常简单的问题,但我已经连续几天研究它但无济于事。任何帮助将不胜感激。

我的项目结构如下所示:

src
|--Main.java
|--WebScrapper.java

out
|--Main.class
|--WebScrapper.java

lib
|--Jsoup

我的 WebScrapper.java 文件导入 Jsoup 库实用程序,如下所示:

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

我在 InteliJ IDE 上的项目中使用 Java 库。在 IDE 中,我转到“项目结构 -> 模块 -> 添加 Jars 或目录”,我的程序通过在 IntelliJ 中选择“运行”按钮来运行,但是当我编译 Java 代码并尝试从终端使用“java Main.class”运行它时,出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/jsoup/Jsoup
at WebScrapper.returnPage(WebScrapper.java:12)
at Main.main(Main.java:19)
Caused by: java.lang.ClassNotFoundException: org.jsoup.Jsoup
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more

我知道这是库的问题,而不是我的其他类文件的问题,因为当我将其他类文件更改为简单的 System.out.printl 语句时,它工作得很好。如何让这种依赖关系在我的项目中发挥作用?我需要创建一个 lib 文件夹并执行某些操作吗?或者是别的什么?我浏览了有关堆栈溢出的许多其他问题,并且看到了诸如清理构建、使用依赖关系管理插件(如 Maven 等)等解决方案。但是,重建项目不起作用,我希望尽可能避免使用依赖关系管理系统,但如果需要,我会这样做。

提前致谢,迈克尔

最佳答案

运行类时,您必须将库添加到类路径中;这是通过使用例如来完成的-cp path-to-jsoup.jar.
当有更多 jar 文件时,您必须通过在 Windows 中使用 ; 和在 Linux 中使用 : 分隔来列出所有文件。
您最好尝试在 IntelliJ 终端面板中运行类上层时找到 IntelliJ 使用的命令,以便更好地理解编写它的类似方式。

关于java - Java Library编译后如何使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53456260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com