微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Maven 的 jar 中找不到 org.json

如何解决在 Maven 的 jar 中找不到 org.json

我一直在尝试将我的新 Java 代码从 Eclipse 导出到 JAR 中,但在使用 JSON 库时遇到了问题。起初,我使用当前的 JDK 导出,该 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。

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

解决方法

感谢@J Fabian Meier 的评论

你读过 stackoverflow.com/q/574594/927493 吗? – J Fabian Meier

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。