【问题标题】:org.json not found in jar with Maven [duplicate]在 Maven 的 jar 中找不到 org.json [重复]
【发布时间】:2021-03-17 16:09:04
【问题描述】:

我一直在尝试将我的新 Java 代码从 Eclipse 导出到 JAR 中,并且遇到了 JSON 库的问题。起初,我使用当前的 JDK 导出,它可以为 Java 15 编译。但是,当我尝试运行它时,它不起作用,因为我的 JRE 是 Java 1.8。然后我将 Eclipse 中的环境更改为 1.7,因为显然我的代码与 1.8 有一些不兼容,从那时起,我能够导出到一个运行并启动我的 GUI 的 JAR 文件,但每次它因为找不到而崩溃JSON 类如以下堆栈跟踪所示:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
        at aoClient.AoApi.<init>(AoApi.java:10)
        at aoClient.Main.main(Main.java:224)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
        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)

我尝试在 Maven POM 文件中使用不同版本的 JSON,但没有成功,我尝试将 JSON 库的 JAR 文件链接到我的构建路径,甚至检查构建路径的顺序和导出选项卡没有变化。我尝试在 Maven 中使用不同版本的 JSON,并从 Maven 中删除 JSON 以仅使用 Java 添加的库。我也尝试过运行 Maven 安装而不是 Eclipse 导出到 JAR,但我仍然遇到同样的错误。最后,也许是最令人气愤的部分是,当我从 Eclipse 运行程序时,它运行良好。

我还尝试从项目中禁用 Maven,并通过构建路径手动添加我正在使用的两个库,我得到了完全相同的结果。知道我注意到没有加载图像可能很有用,即使它们在aoClient.AoApi 之前被调用也是如此@

我正在使用 java 1.8.0_281 作为我的 JRE 运行 windows 10 和 eclipse 2020-12。

谁能向我解释为什么这不起作用以及如何解决它?

【问题讨论】:

  • 如果没有一些代码,我们只是在猜测。你是如何构建你的可运行 jar 的?
  • @stdunbar 我只是使用eclipse的导出功能到jar文件
  • 所以你没有使用 Maven?
  • @JFabianMeier 我添加了这些插件并且它确实编译了。它没有得到图片,但至少它现在正在运行。谢谢!

标签: java json eclipse maven org.json


【解决方案1】:

感谢@J Fabian Meier 的评论

您是否阅读过 stackoverflow.com/q/574594/927493 ? ——J 法比安·迈尔

通过在 plugins 标签中添加插件,经过几次尝试,我能够成功地运行该文章的编译。它不包括图像,但至少它正在运行。

【讨论】:

    猜你喜欢
    • 2018-10-04
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多