eclipse运行出错的解决方案:org.osgi.framework.BundleException

问题描述:运行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就不会出现之前的问题了。

(文/supernan)

来源:http://blog.sina.com.cn/s/blog_6f6c0f3501017krn.html


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。