【问题标题】:Java classpath for 32 bit & 64 bit32 位和 64 位的 Java 类路径
【发布时间】:2012-08-06 06:47:01
【问题描述】:

我已经安装了 JDK 32 位和 JDK 64 位。我有 2 个 Eclipse 安装;适用于 Android 的 Helios 和适用于 Java EE 的 Indigo。现在的问题是,当我为 32 位 Indigo 设置类路径时不起作用,当我为 64 位 Helios 设置路径时不起作用。

我得到的错误是:

failed to load the jni shared library

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

    问题是您正在尝试加载例如使用 64 位 JVM 的 32 位 DLL,但 32 位 JVM 只能加载 32 位库,而 64 位 JVM 则相反。

    • 您可以卸载 32 位 eclipse 版本并重新安装为 64 位版本,这样两个程序都可以使用 64 位 JVM
    • 您可以打开eclipse.ini 并编辑-vm 参数以指向正确的JVM 安装。因此,您需要与 64 位 JVM 并行安装 32 位 JVM。

    【讨论】:

    • ,感谢您的回复,您的意思是我不能一次拥有 2 个(32 位和 64 位)jdk?
    • 正确。您可以同时安装多个 JVM,但系统的 PATH 变量上只能安装一个 JVM(JRE 或 JDK) - 否则系统将仅从第一个目录中获取 javac 命令。但是eclipse允许你指定加载时使用哪个JVM(->eclipse.ini)。因此,您可以在 PATH 上安装 64 位 JDK,并在 eclipse.ini 中指定 32 位 JDK 的路径。
    • 谢谢。我得到了很好的知识。还有1个问题?如何在 eclipse.ini 中设置。这是 eclipse.ini 我有。 -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -showsplash org.eclipse.platform -- launcher.XXMaxPermSize 512m --launcher.defaultAction openFile -vmargs -Dosgi.framework.extensions=net.rim.ejde.preprocessing.hook -Xms40m -Xmx512M -XX:MaxPermSize=512m
    • -vm C:/Program Files/Java/jdk1.7.0_02/bin/javaw.exe 处理-vm 和其余部分之间的换行符。根据需要调整路径。
    • 这个问题与操作系统无关,而与JVM有关。我不知道为什么 JVM 会抛出这个异常,但确实如此。我假设 JNI(用于加载 eclipse 的 SWT)在 64 位 JVM 上没有检测到 32 位 DLL。一种解决方法是check the architecture in the Java code and load different libraries。但这只有在您可以访问代码时才有效。 ;)
    【解决方案2】:

    你没有说操作系统。但在Windows 中,64 位 java 将安装在 Program Files 下,而 32 位 java 将安装在 Program Files (x86) 下。如果您相应地更新了 eclipse.ini 以指向适当的 java 安装 (32/64),我认为您应该没问题

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 2011-09-02
      • 2012-05-19
      • 1970-01-01
      • 2013-07-27
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 2012-02-11
      相关资源
      最近更新 更多