最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】运行Eclipse出错:Failed to load the JNI shared library

Java crifan 30575浏览 0评论

【问题】

运行Android的ADT,即Eclipse出错:

Failed to load the JNI shared library

C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll

Failed to load the JNI shared library

其中背景是:

1.之前已经可以正常运行的,即已经正常安装了JRE6的。

2.后来删除掉了JRE6了。

3.刚刚又去重新安装了JRE6,结果还是错误依旧。

4.并且已经确定了:

C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll

是存在的。

 

【解决过程】

1.现在想办法搞清楚,为何还是不行。

难道需要重启电脑才可以???

2.去随便看了看,当前的eclipse的配置:

D:\tmp\tmp_dev_root\android\adt-bundle-windows\eclipse\eclipse.ini

中是:

-Dosgi.requiredJavaVersion=1.6

明显是要求java是1.6版本的。

3.参考了:

http://aquilo.diandian.com/post/2012-05-27/21832516

感觉没太大帮助。

4.又参考:

http://dongdong1314.blog.51cto.com/389953/490211

再去确认一下之前装的JDK,是

jdk-6-windows-amd64.exe

也的确是64位的。结果还是不行啊。

5.重新安装

jdk-6-windows-amd64.exe

一下试试。

6.想起来了。这样肯定也有问题。

因为上面提示的是

C:\Program Files (x86)\

表示eclipse希望的是32位的java。

所以,此处,看来还是需要找到,是不是哪里的,环境变量,还是注册表中,残留的这个路径,去删除掉,更新为最新的

C:\Program Files\

的java的路径才可以。

7.果然,在PATH环境变量中,看到了,有两个java相关的路径:

  • C:\Program Files (x86)\Java\jre6\bin :是之前加上去的,估计是安装jre后自己加上去的
  • C:\Program Files\Java\jdk1.6.0\bin:是刚装的JDK后,自己手动加上去的

所以很简单了。

先去删除旧的路径:

C:\Program Files (x86)\Java\jre6\bin

结果问题依旧。

8.最后终于发现了,原来是,环境变量:

JAVA_HOME=C:\Program Files (x86)\Java\jre6

所以,始终找不到对应的值,现在把其改为:

JAVA_HOME=C:\Program Files\Java\jdk1.6.0

并且,PATH中,也已经有了:

%JAVA_HOME%\bin

这样,应该就可以了。

去试了试,果然可以了,可以正常运行Eclipse,此处的ADT了:

can run eclipse

【总结】

当运行基于Java的东西,此处是Eclipse(用于开发Android的ADT),如果出现:

Failed to load the JNI shared library

C:\Program Files (x86)\Java\jre6\bin\client\jvm.dll

之类的问题时,则很简单,

先:

  • 去看看,对应的路径中,是否真的存在jvm.dll
    • 如果没有,那很明显,需要自己去安装对应的版本
      • 自己去Oracle官网下载,对应的版本的,JRE或JDK
        • 比如我的是,x64的Win7,下载了个:jdk-6-windows-amd64.exe
  • 再去确认一下Java的环境变量是否正常:
    • JAVA_HOME:应该是你的JRE或者JDK的安装路径
      • 比如我这里,64位的win7,安装的是64位的JDK 6,所以安装后,对应路径为:
        C:\Program Files\Java\jdk1.6.0
    • PATH:path中应该包含java的bin目录,类似于
      C:\Program Files (x86)\Java\jre6\bin\
      • 提示:但是由于已经设置好了JAVA_HOME了,所以可以更加通用的写为
        %JAVA_HOME%\bin

 

另外,提示一下:

64位的(Win7)系统中,对应的软件安装目录:

  • 32位的软件,默认安装到:C:\Program Files (x86)\
  • 64位的软件,默认安装到:C:\Program Files\

转载请注明:在路上 » 【已解决】运行Eclipse出错:Failed to load the JNI shared library

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (5)

  1. 谢谢呀!!對於新手java的我來說真是帮了大忙.裝這個裝了我2個月TAT,如果能早點看到這篇文章就好了.作者很贊喲!很詳細的分析。思維羅輯也很好!很少看到這么有分析性的文章!!!BIG LIKE
    online6年前 (2019-04-17)回复
  2. thanks
    [email protected]9年前 (2015-07-15)回复
  3. 是因为路径里面有特殊的字符,把C:\Program Files (x86)\去空格去括号就好了
    xxx11年前 (2013-08-31)回复
85 queries in 0.176 seconds, using 22.12MB memory