org.osgi.framework.BundleException: Could not resolve module: org.eclipse.equinox.console
現象描述,eclipse中執行Run Configurations時日誌顯示:
!ENTRY org.eclipse.equinox.console 4 0 2016-11-20 18:20:00.145!MESSAGE FrameworkEvent ERROR!STACK 0org.osgi.framework.BundleException: Could not resolve module: org.eclipse.equinox.console [8] Unresolved requirement: Import-Package: org.apache.felix.service.command; version="0.8.0"; status="provisional" at org.eclipse.osgi.container.Module.start(Module.java:434) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476) at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
原因是:
This is because the default shell of Eclipse has been moved to "Apache Felix Gogo"; so the necessary bundles must be added to the "Run Configuration" before running. Followings are the four bundled that you need to select from the list:org.apache.felix.gogo.command_0.10.0v<version>.jarorg.apache.felix.gogo.runtime_0.10.0v<version>.jarorg.apache.felix.gogo.shell_0.10.0v<version>.jarorg.eclipse.equinox.console_1.0.100<version>.jar
解決方案:
運行結果: