Java org.osgi.framework.BundleException:找不到bundle:org.eclipse.equinox.console
命令:Java org.osgi.framework.BundleException:找不到bundle:org.eclipse.equinox.console,java,eclipse-plugin,osgi,Java,Eclipse Plugin,Osgi,命令: \eclipse-SDK-4.2RC3-win32-x86_64_001\eclipse\plugins>java -jar org.eclipse.osgi_3.8.0.v20120529-1548.jar -console 异常(来自日志文件) 但是下面的jar是可用的 org.eclipse.equinox.console_1.0.0.v20120522-1841.jar 对上述错误有什么建议吗?您需要安装几个捆绑包才能使用控制台,如果您仅使用java-jar…启动Equ
\eclipse-SDK-4.2RC3-win32-x86_64_001\eclipse\plugins>java -jar org.eclipse.osgi_3.8.0.v20120529-1548.jar -console
异常(来自日志文件)
但是下面的jar是可用的
org.eclipse.equinox.console_1.0.0.v20120522-1841.jar
对上述错误有什么建议吗?您需要安装几个捆绑包才能使用控制台,如果您仅使用
java-jar…
启动Equinox,那么您将无法获得这些捆绑包
最快的方法是创建一个名为configuration/config.ini
的文件,其中包含以下内容:
osgi.bundles=file\:org.eclipse.equinox.console_1.0.0.v20111215-1210.jar@start,file:\org.apache.felix.gogo.runtime_0.8.0.v201108120515.jar@start,file:\org.apache.felix.gogo.shell_0.8.0.v201110170705.jar@start
NB您必须对照您实际拥有的软件包查看这些软件包的版本号。我在SDK-4.2M6中尝试过这一点,其中一些可能在RC3中有所改变。在equinox的新版本中,内置OSGi外壳已被替换为felix gogo外壳。如果您想使用新的shell,您必须放置gogo jar,并在配置文件中定义它们
但是,如果您喜欢OSGi Equinox shell,只需在
config.ini
文件中添加以下行即可使用它:OSGi.console.enable.builtin=true
。在这种情况下,无需添加额外的JAR或任何配置。我在Ubuntu Linux上使用Eclipse Helios和Eclipse Juno。我在EclipseJuno上也有同样的错误,我无法启动Eclipse我不知道怎么做,但是我的Java版本降低到了1.5,这导致了问题
在EclipseHelios中,Java1.5引起了问题,但我能够启动Eclipse。在Eclipse Helios中出现的错误是:
An internal error occurred during: "Loading Web Service DOM...".
org.eclipse.emf.ecore.util.EcoreEMap$delegateObjectContainementElist
将Java版本更新为1.7解决了问题。我猜Eclipse Juno不适用于Java 1.5:)我遇到了与我尝试在config.ini文件中添加
osgi.console.enable.builtin=true
相同的问题,但似乎每次我以解决问题的方式运行project时都会重新创建该文件运行配置-->参数选项卡添加在VM参数中-Dosgi.console.enable.builtin=true
,这是因为Eclipse的默认shell已移动到“ApacheFelixGogo”;因此,在运行之前,必须将必要的包添加到“运行配置”中。以下是您需要从列表中选择的四个捆绑包:
org.apache.felix.gogo.command_0.10.0v<version>.jar
org.apache.felix.gogo.runtime_0.10.0v<version>.jar
org.apache.felix.gogo.shell_0.10.0v<version>.jar
org.eclipse.equinox.console_1.0.100<version>.jar
org.apache.felix.gogo.command_0.10.0v.jar
org.apache.felix.gogo.runtime_0.10.0v.jar
org.apache.felix.gogo.shell_0.10.0v.jar
org.eclipse.equinox.console_1.0.100.jar
如上图所示添加这些后,程序运行平稳
参考资料:尝试使用新的工作区。要强制工作区窗口提示,您需要更改
Eclipse\u root\u dir\configuration\.settings\org.Eclipse.ui.ide.prefs
中的设置,并将SHOW\u workspace\u SELECTION\u DIALOG
设置为true其中一个变量是选择另一个java版本(旧于默认值),eclipse旧版本尝试在java 9上运行时出错
sudo update-alternatives --config java
我选择了Java8,所有的工作都转到
Eclipse\u root\u dir\configuration\.settings\org.Eclipse.ui.ide.prefs
,并将最近的工作区的路径更改为一些不同的路径。这可能会有所帮助,这个属性也可以作为系统属性添加,例如“-Dosgi.console.enable.builtin=true”这在EclipseKepler上将其作为VM参数添加到运行配置中,但在尝试从Eclipse外部运行时(在本例中,接受的答案正常)。谢谢!你救了我的周末!这个问题很古老,已经有了公认的答案。你的回答没有说明任何新情况。
sudo update-alternatives --config java