问题描述:运行eclipse时出错,无法启动,查看log发现是这个异常:org.osgi.framework.BundleException。此前已经安装了jre,配置好路径。

解决方案:其实发生这个问题的原因是加载java虚拟机出的错,因为eclipse实际上是一个java程序,运行时需要指定java虚拟机。

首先我们来看看Eclipse的JVM启动的时候找JRE的顺序:如果eclipse.ini中配置了-vm参数,那么则使用这个参数指定的JRE;否则就去查看 eclipse安装目录下是否有JRE文件夹,如果有的话就使用这个JRE;否则的话就去系统中查找安装的JRE,如果还找不到的话就报错。

对于jre不是安装在eclipse的安装目录下的情况(假设虚拟机完全路径为/usr/java/jre1.7.0_06/bin/java),可以有两种方法(其实本质一样)可以指定:

1、运行eclipse时使用命令参数-vm指定JVM,如./eclipse -vm /usr/java/jre1.7.0_06/bin/java;

2、第1种做法相对比较麻烦,每次运行都得带参数,有个一劳永逸的办法就是把-vm参数加到eclipse的初始化文件eclipse.ini。要特别注意采用这种方法是-vm和后面的/usr/java/jre1.7.0_06/bin/java要分两行,不然运行不成功。

未加入之前eclipse.ini为:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
–launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
256m
–launcher.defaultAction
openFile
-vmargs
-Xms40m
-Xmx512m

假如-vm之后为:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
–launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
256m
–launcher.defaultAction
openFile
-vm

/usr/java/jre1.7.0_06/bin/java
-vmargs
-Xms40m
-Xmx512m

这样再次运行eclipse就不会出现之前的问题了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐