启动Eclipse时无法加载JNI共享库


27

我下载了最新版本的Eclipse,但是无法启动。

我收到的错误消息是:

无法加载JNI共享库“ C:\ Program Files(x86)\ Java \ jdk1.6.0_20 \ bin .. \ jre \ bin \ client \ jvm.dll”。

我该如何解决?

我使用64位Windows,32位JDK,并下载了64位Eclipse。


那很奇怪。jvm.dll应该位于C:\ Program Files(x86)\ Java \ jdk1.6.0_20 \ jre \ bin \ client \ jvm.dll中,而不应该位于C:\ Program Files(x86)\ Java \ jdk1.6.0_20中\ bin \ ...
AndrejaKo

Answers:


34

如果在安装的JDK和Eclipse版本之间存在32位和64位不匹配的情况,通常会发生这种情况!

您的Eclipse版本正在尝试访问32位JDK(如C:\ Program Files(x86)所示),但由于Eclipse期望使用64位JDK或由于缺少32位JDK而失败-您需要确保相应地将Eclipse和JDK版本匹配。


我使用64位Windows,32位JDK,并下载了64位Eclipse。现在,使用32位Eclipse,效果更好,谢谢。
乔纳斯(Jonas)2010年

@Jonas-我删除了有关已安装版本的错误假设,感谢您通过指定设置来指出这一点。
斯特芬欧宝

3

我已经安装了JDK和Eclipse 64位版本,但是存在相同的问题...

最终,我发现我的%PATH%系统变量不包含该文件夹。不要忘记将其更改为安装JDK \ bin的正确文件夹。为我工作。


2
-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
-vm
C:/Program Files/Java/jdk1.6.0_32/jre/bin
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

同时使用eclipse和os 64位或32位


1

在Windows 7上,您可以使用unix下的符号链接。

因此,使用cmd(以管理员身份运行),请运行以下命令:下次更新Java时mklink /d jdk jdk-versionnr-etc,无需更新路径JAVA_JOME


1

我有一个64位Eclipse和一个32位Java,并且遇到了同样的问题。安装64位Java并更新系统路径后,没有问题。


1

如果您已经下载了64位Eclipse和64位JDK / JRE,请检查javaw.exe是否可用于64位。

就我而言 C:\Program Files\Java\jre6\bin

我已经将Eclipse解压缩到该c:\eclipse文件夹中;在该eclipse.ini文件可用。用以下内容替换该文件的内容:

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xmx700m
-XX:MaxPermSize=690M

在-vm标志和值之间保留新行。它为我工作。


谢谢。我所做的就是复制“ -vm C:\ Program Files \ Java \ jre6 \ bin \ javaw.exe”行,其他所有内容均保持不变。
Stopher87 2011年

0

即使我同时拥有JDK和Eclipse的64位版本,我也面临着同样的问题。我发现eclipse.ini中缺少JDK路径。

因此,我在eclipse.ini文件中添加了以下几行:

-vm
C:\Program Files\Java\jdk1.7.0_45\jre\bin <this might be different on your machine>

这样就解决了问题! :-)



0

1.卸载可用的jdk7.1(它是64位)。2.下载并安装32位的jdk7.1。jvm.dll将位于以下路径中:“ C:\ Program Files(x86)\ Java \ jdk1.7.0_75 \ jre \ bin \ client”

希望它能工作。


0

为了详细说明Steffen Opel的答案,eclipse.ini文件中指定的JVM与由于Windows路径环境变量中的条目而遇到并启动的JVM之间会发生不匹配。因此,要解决此问题,请确保它们都引用相同的JVM。

要解决此问题,请按照下列步骤操作:

1.修改Eclipse配置,
使其以所需的JVM版本启动打开eclipse.ini,并将下面的行更改为您希望使用的Java版本,例如:

-Dosgi.requiredJavaVersion=1.5

2.确保Eclipse可以访问JVM,它需要
转到控制面板->编辑系统环境变量->路径。
    a)确保您的Java此处存在一个条目
    b)确保该条目位于@path条目中的所有其他Java路径之上(或更早)。

希望那应该为您解决问题。


0

尽管这是一个古老的问题,但我想在@Steffen Opel给出的“已接受”答案中添加更多相关信息。

可以在64位Windows OS中安装任意数量的32位JDK和64位JDK版本。也可以在同一台计算机上安装32位Eclipse和64位Eclipse。但是要运行其中一个与平台相关的Eclipse(在OPs中为64位Eclipse)版本,该计算机应为JDK配置匹配的“ 环境变量 ”。可以完成(应该这样做)而无需修改 eclipse.ini文件。

环境变量

要在不提供完整路径的情况下运行Java,需要将java.exe的文件位置添加到PATH环境变量中。对于其他一些第三方实用程序,JAVA_HOME也需要环境变量。

通常,Java开发人员总是需要安装JDK(JDK中包含JRE)。并PATH设置为JDK安装文件夹(在OP中为C:\ Program Files \ Java \ jdk1.6.0_40 \ bin)下的“ bin ”文件夹,而设置为JDK安装文件夹(在OPs中为C:\ Program Files \ Java \ jdk1.6.0_40)。JAVA_HOME

此处OP仅具有32位JDK,但尝试使用64位Eclipse。因此,要解决此问题,OP需要安装64位JDK。并更改JAVA_HOMEPATH环境变量 ”以匹配该安装位置。

这是更完整的步骤:

  • 下载并安装64位JDKx.x.x_xx
  • 然后打开Windows资源管理器,右键单击“计算机”图标并选择

    属性 -> 高级系统设置
    它将打开 系统属性窗口,并在“ 高级 ”选项卡中选择“ 环境变量 ”以打开编辑窗口。

  • 在“ 系统变量”部分下,查找JAVA_HOME变量名称,然后单击底部的“ 编辑 ”按钮,如果不可用,则单击“ 新建 ”,然后输入C:\ Program Files \ Java \ jdk1.6.0_40 ,然后单击“确定”。

  • 然后选择PATH变量并单击“ 编辑 ”并追加 %JAVA_HOME%\bin; %JAVA_HOME%\bin在现有字符串的开头或 结尾。不要覆盖现有字符串,然后单击确定->确定->确定以完成操作。

现在,Eclipse将打开且没有错误。

注意:

  • 如果有人需要使用32位Eclipse,则默认JDK路径将为C:\ Program Files(x86) \ Java \ jdkx.x.x_xx

  • PATH在Windows 10中更改环境变量时,将弹出另一个窗口,如下图所示。

在此处输入图片说明


0

我曾经遇到过同样的问题,但是我找到了解决方案。

检查Eclipse是32位还是64位,然后

  1. 如果是32位,则将JAVA_HOME设置为jdk的32位版本
  2. 如果Eclipse是64位,则将JAVA_HOME设置为jdk的64位版本
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.