org.osgi.framework.BundleException:找不到包:org.eclipse.equinox.console

2022-01-16 00:00:00 eclipse-plugin java osgi

命令:

eclipse-SDK-4.2RC3-win32-x86_64_001eclipseplugins>java -jar org.eclipse.osgi_3.8.0.v20120529-1548.jar -console

异常(来自日志文件)

!SESSION 2012-06-22 23:36:27.649 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_25
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments:  -console

!ENTRY org.eclipse.osgi 4 0 2012-06-22 23:36:28.632
!MESSAGE Could not find bundle: org.eclipse.equinox.console
!STACK 0
org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console
    at org.eclipse.osgi.framework.internal.core.ConsoleManager.checkForConsoleBundle(ConsoleManager.java:211)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:297)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:151)

!ENTRY org.eclipse.osgi 4 0 2012-06-22 23:36:28.663
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:151)

但是下面的 jar 是可用的.

But the following jar is avaialble.

org.eclipse.equinox.console_1.0.0.v20120522-1841.jar

对上述错误有什么建议吗?

Any suggestions on the above error?

推荐答案

您需要安装几个包才能使用控制台,如果您只使用 java -jar ... 那么你就不会得到那些捆绑包了.

You need a couple of bundles installed in order to use the console, and if you launch Equinox using just java -jar ... then you will not get those bundles.

完成这项工作的最快方法是创建一个名为 configuration/config.ini 的文件,其内容如下:

The quickest way to get this working is to create a file named configuration/config.ini with the following content:

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

注意,您必须对照您实际拥有的版本检查这些捆绑包的版本号.我用 SDK-4.2M6 试过这个,可能其中一些在 RC3 中发生了变化.

NB you will have to review the version numbers of those bundles against what you actually have. I tried this with SDK-4.2M6, it's possible that some of these have changed in RC3.

相关文章