Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java org.osgi.framework.BundleException:找不到bundle:org.eclipse.equinox.console_Java_Eclipse Plugin_Osgi - Fatal编程技术网

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