加载JNI共享库(JDK)失败 | Java-Debug实录

问题:

当我尝试打开Eclipse时,一个弹出的对话框指出。

Failed to load the JNI shared library "C:/JDK/bin/client/jvm.dll"。`

在这之后,Eclipse强制关闭了。

下面是我想说的几个原因:

我检查了该路径上是否存在任何东西,它确实存在
我的Eclipse和Java SE开发工具包都是64位的;我检查了我的系统,可以处理64位
我在Google和Stack Overflow上搜索了这个问题,我找到的唯一答案是下载32位版本的JDK和Eclipse
下载32位版本是我在不得已的情况下才想做的事情
有什么建议可以解决这个问题?

回答

操作系统中JDK和Eclipse的工作配对。
32位操作系统|32位JDK|32位Eclipse(仅32位)。
64位操作系统|32位JDK|32位Eclipse
64位操作系统|64位JDK|64位Eclipse(仅64位)。
我安装了几个JDK和JRE。

它们中的每一个都在PATH变量中有自己的条目,都或多或少地在工作。

从 PATH 变量来看,有些安装的程序完全没有用,因为它们从未被使用过。当然,如果我需要的话,可以从Eclipse中手动引用 “不活动 “的Javas,但我从来没有这样做,所以我真的不需要它们。至少我当时是这么认为的……)

我清理了这个烂摊子,卸载了当前所有的Java,只安装了JDK + JRE 1.7 64位。

之后,其中一个Eclipse “安装 “失败了,出现了 “加载JNI共享库失败”,以及它认为jvm.dll在新安装的JDK的相对路径。

失败的Eclipse是我所有IDE中唯一一个在我的全部64位设置中仍然是32位版本的。

像经常提到的那样,在eclipse.ini中添加虚拟机参数对我来说没有用(因为我只有错误的JDK/JRE与之相关。

我也找不到如何检查这个Eclipse是32位还是64位的版本(我无法在任务管理器中查找,因为这个Eclipse “安装 “不会启动。而且由于我已经有一段时间没有设置它了,所以我也不记得它的版本了)。)

如果你使用较新的JDK和较旧的JRE,你也可能会遇到麻烦,但这时更有可能出现java.lang.UnsupportedClassVersionError,IIRC。

翻译内容来源Stack Overflow:stackoverflow.com/questions/7…

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享