gpt4 book ai didi

java - Android 导入重叠

转载 作者:行者123 更新时间:2023-11-29 21:06:33 25 4
gpt4 key购买 nike

我在我的 Android 项目中使用 Mozilla 的 Rhino。但是,我的 Java 版本在 JDK 中有这个库的副本。因此,我收到了错误:

06-22 17:59:01.008: E/AndroidRuntime(1150): java.lang.NoClassDefFoundError: sun.org.mozilla.javascript.internal.Context

我将完全相同的 jar 放入项目的“libs”文件夹中,但我没有运气覆盖原始库。基本上我想告诉 eclipse 停止指向 Rhino 的 JDK 版本并指向我的。无论如何我可以在不删除 JDK 的 jar 文件中的文件的情况下执行此操作吗?

编辑:

Highlighting the import sun.org.mozilla.javascript.internal.Context, then going to Declarations->Project The import comes from /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes

从这两张图片可以看出,当我突出显示导入时,eclipse 说导入是从 jdk 引用的,而不是我的 .jar 文件。

编辑:我的构建路径。 Java Build Path/Libraries in eclipse

最佳答案

Android 项目不使用 JDK 的类。 Android SDK 中没有 sun.*(希望在任何 Android 本身中也没有)。

This blog post似乎表明标准的 js.jar 应该开箱即用。

如果您出于某种原因重新编译 Rhino,您应该针对 Android 库项目中的 android.jar 进行编译,而不是针对 JDK 的类库进行编译。

此外,您还专门引用了 JDK 内部类。根据我在 Mozilla 网站和 the Rhino project repo 上看到的内容,Rhino 本身没有 sun.* 类,AFAICT。 .

关于java - Android 导入重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24356278/

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