打开Eclipse,出现 Failed to load the JNI shared library "D:\ 。 原来我的Eclipse是win32
而JAVA_HOME指向的是64位的jdk。 那就把Eclipse也换成64位的吧, 可是,等等! 为什么我另外一个环
境的Eclipse是32位的却能正常运行,并且 首选项 ->> 已安装的JRE 里显示的当前正在使用的确实是64位的
jdk, 这又是为什么 ?
突然想起有一句介绍, “如果Eclipse报错提示虚拟机内存不足, 可以考虑把一套jre拷贝到Eclipse目录下,让
Eclipse单独跑一套jre”。 是不是目前能正常使用的32位Eclipse里有一套jre呢 ? 找到eclipse目录发现果然是这
样。 那就把32位的jre也拷贝到现在报错的eclipse目录中试试, 双击eclipse.exe,果然能正常启动了。 编辑首
选项 ->> 已安装的JRE,将64位的JDK添加进来。
猜想,Eclipse启动的时候寻找JRE 和 运行java 程序时寻找JRE 是一样的顺序,都是按照
1. 当前目录有没有jre目录
2. 父目录底下的JRE子目录
3. 查询注册表
因为JDK安装的时候会有两个jre,那么运行java程序的时候也是按照这个顺序寻找最终用到的JRE。而开发环境到
底会用哪个jre,还是由 首选项 ->> 已安装的JDK 配置决定的。