eclipse Mac OS、JDK1.7(和1.8)不包含JNI_CreateJavaVM符号

6xfqseft  于 2023-04-20  发布在  Eclipse
关注(0)|答案(4)|浏览(183)

我需要通过JDK 1.7在Mac OS上运行Eclipse Kepler(这是PyDev插件所需的)。
问题是,尽管我已经安装了1.7 jdk,并配置了eclipse.ini来使用它,但我还是得到了错误
JVM共享库“/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/bin../jre/lib/server/libjvm.dylib”不包含JNI_CreateJavaVM符号。

UPDATE这里的聪明人https://github.com/joeferner/node-java/issues/90声称,将JNI添加到info.plist文件中的JVMCapabilities就足够了,如

<key>JVMCapabilities</key>
   <string>JNI</string>

但是我试过了,它对我的情况不起作用

tyu7yeag

tyu7yeag1#

右键单击Eclipse图标并选择'showpackagecontents',在contents目录中,您将找到一个名为'Info. plist'的文件

<key>Eclipse</key>
    <array>
        <!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
                or add a VM found via $/usr/libexec/java_home -V
          <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/java</string>
          <string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java</string>
        -->

注意注解掉的部分。将jdk路径声明从注解部分移走。现在应该是这样的。

<key>Eclipse</key>
    <array>
      <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/java</string>
        <!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
                or add a VM found via $/usr/libexec/java_home -V
          <string>-vm</string><string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java</string>
        -->

最后一步,浏览到/Library/Java/JavaVirtualMachines并检查那里存在的jdk包名称。用它替换上面命令中的jdk版本。

/Library/Java/JavaVirtualMachines/{your_jdk_package_name}/Contents/Home/bin/java

可选:在某些机器上,您可能必须在完成所有这些操作后关闭finder,导航到eclipse文件夹,然后再次单击eclipse以使其工作。

ctehm74n

ctehm74n2#

对于那些在执行上述两项任务后仍然看到相同错误消息的人来说:我确信我已经下载了64位的Eclipse,但结果我有32位的版本。下载64位后,一切正常!

okxuctiv

okxuctiv3#

我有一个完美工作的Eclipse Luna,并开始得到这个错误,而试图升级到Java 8(和更新JRE,JDK等)。山的解决方案不适合我。所以我只是下载并安装最新的Eclipse。它工作正常。节省了调试和摆弄的时间。

7ajki6be

7ajki6be4#

看起来Eclipse [Apache Directory Studio]需要为Aarch64重新编译。Eclipse在所有平台上一直是一个挑战,包括Linux。

相关问题