【问题标题】:Jar inside Eclipse project runtime errorEclipse项目运行时错误中的Jar
【发布时间】:2023-09-29 05:25:01
【问题描述】:

我在我的 Eclipse 项目中使用json-simple 作为外部 Jar。 这个 external Jar 的 Classpath 已正确设置到 .classpath 文件中:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
        [...]
        <classpathentry kind="lib" path="json-simple-1.1.1.jar"/>
        [...]
</classpath>

Java 代码编译没有任何错误

当我运行编译后的代码时,我得到以下运行时错误

Could not find class 'org.json.simple.parser.JSONParser',  referenced from method [...]

我不明白为什么,我想我遗漏了一些东西,但我无法弄清楚。
谢谢你的帮助。

【问题讨论】:

  • 你是如何运行代码的?
  • 我正在使用 Eclipse 运行它(运行菜单 -> 运行)。这是一个Android项目,我是在模拟器上运行的。

标签: java eclipse android-emulator jar classpath


【解决方案1】:

当您的应用程序在模拟器中运行时,您必须使该库在运行时可用。为此,请将json-simple-1.1.1.jar 文件放入assets/libs/ 目录中,如the documentation 所述。它将与您的应用程序捆绑在 .apk 文件中,并且应该在运行时可用。

【讨论】:

  • 非常感谢您的解释。我认为在“Order and Export”选项卡中检查 Jar(如@Jeremy Heiler 所建议)并将其拉到有序列表中就足够了,无论如何将东西放在正确的文件夹中总是一个好习惯。
【解决方案2】:

假设您正在 在 Eclipse 中运行它,请查看运行/调试配置中的类路径设置。这个类路径似乎与 Eclipse 中的普通项目/编译器类路径设置不同。

【讨论】:

  • 我在 Eclipse 中运行它。这是一个Android项目,我通过右键单击项目设置类路径,然后选择“Properties”,然后选择“Java Build Path”,然后选择“Add JARs”,然后找到Jar文件。
  • 在“订购和导出”选项卡中,jar 是否被检查?
  • @JeremyHeiler 感谢您的提示。我检查了 Jar,但模拟器仍然给我同样的错误。