2011-05-05 58 views
4

我收到以下错误,当我尝试推出我的Eclipse RPC应用程序:Eclipse的RPC束激活错误:“该系统束更新”

!SESSION 2011-05-05 17:07:38.649 ----------------------------------------------- 
eclipse.buildId=unknown 
java.version=1.6.0_24 
java.vendor=Sun Microsystems Inc. 
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_IE 
Framework arguments: -application org.eclipse.ui.ide.workbench 
Command-line arguments: -application org.eclipse.ui.ide.workbench -data C:\Users\eramkoh\PCI Workspace/../runtime-EclipseApplication -dev file:C:/Users/eramkoh/PCI Workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86 -consoleLog 

!ENTRY org.eclipse.equinox.simpleconfigurator 4 0 2011-05-05 17:07:39.492 
!MESSAGE 
!STACK 0 
org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.simpleconfigurator.Activator.start() of bundle org.eclipse.equinox.simpleconfigurator. 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755) 
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370) 
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374) 
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440) 
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) 
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337) 
Caused by: java.lang.IllegalStateException: The System Bundle was updated. The framework must be restarted to finalize the configuration change 
    at org.eclipse.equinox.internal.simpleconfigurator.ConfigApplier.install(ConfigApplier.java:71) 
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:129) 
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:143) 
    at org.eclipse.equinox.internal.simpleconfigurator.Activator.start(Activator.java:48) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774) 
    ... 11 more 
Root exception: 
java.lang.IllegalStateException: The System Bundle was updated. The framework must be restarted to finalize the configuration change 
    at org.eclipse.equinox.internal.simpleconfigurator.ConfigApplier.install(ConfigApplier.java:71) 
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:129) 
    at org.eclipse.equinox.internal.simpleconfigurator.SimpleConfiguratorImpl.applyConfiguration(SimpleConfiguratorImpl.java:143) 
    at org.eclipse.equinox.internal.simpleconfigurator.Activator.start(Activator.java:48) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774) 
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755) 
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370) 
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:374) 
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1067) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:561) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:546) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:459) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243) 
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:440) 
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227) 
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337) 

!ENTRY org.eclipse.osgi 4 0 2011-05-05 17:07:39.492 
!MESSAGE Bundle org.eclipse.equinox.simpleconfigurator_1.0.101.R35x_v20090807-1100 [127] is not active. 

!ENTRY org.eclipse.osgi 4 0 2011-05-05 17:07:39.523 
!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:369) 
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) 
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) 
    at org.eclipse.equinox.launcher.Main.run(Main.java:1407) 
    at org.eclipse.equinox.launcher.Main.main(Main.java:1383) 

我应该怎么做来解决它?

回答

0

尝试在产品的配置选项卡上添加org.eclipse.core.runtime,并将其设置为默认开始级别(0)并将自动启动设置为true。

+0

你能解释我们怎样才能达到那 – Ashish 2013-01-26 15:53:36

2

当试图从32位Windows Vista中的32位Java 7 VM上的Eclipse SDK 4.2.2启动Eclipse CDT 4.1.1(有几个4.2.2和几个自己的插件)时,我遇到了类似的问题。我不确定根本原因是什么,但我可以通过以下步骤可靠地重现和解决问题。

  1. 设置新的目标平台定义或重新加载现有的平台定义。
  2. 尝试在调试模式下运行JUnit4插件测试(Ctrl + F11),并观察一切正常。
  3. 重新启动Eclipse。
  4. 重复步骤2并获得与主题启动器相同的java.lang.IllegalStateException。
  5. 重新加载目标平台定义,然后在“目标定义超出同步:目标平台与文件系统不同步”上单击“确定”。在首选项页面按OK将更新目标平台“
  6. 重复步骤2并观察错误再次消失。

由于我在Eclipse 3.6的类似场景中没有得到这个错误,我猜测Eclipse Juno中的目标平台代码不能很好地处理NTFS文件时间戳。所以,当一个Eclipse实例被实际加载时,一个被改变的bundle会被错误地检测到,并尝试重新安装它,这会导致稍后的错误。

摘要:如果出现此错误,请尝试重新加载目标平台。

6

我有完全相同的问题,我意识到是什么原因造成的。如果您的目标文件中有多个与系统相关的捆绑包(例如org.eclipse.osgi),那么如果您让应用程序运行,那么默认情况下Eclipse会将所有捆绑包添加到启动配置中。因此要采取的步骤:

  1. 打开启动配置并转到插件标签
  2. 点击验证
  3. 看到哪些插件被复制
  4. 只留下一个检查,这是appropiate

详情请看下图: enter image description here

+0

谢谢!这工作。 但是有什么方法可以自动删除重复/取较高版本或仅显示冲突插件? 我有这种情况,至少有200个插件,手动清理非常麻烦。 – Andrei 2015-03-27 23:42:55

+0

我认为唯一的解决方案是保持你的目标文件不重复,干净。至少我不知道其他的可能性。为了保持目标清洁,添加功能而不是捆绑可以提供帮助。 – 2015-03-30 19:51:55

+0

肯定会这样做。不幸的是,这是一个由一群人维护的更大项目,所以我必须忍受它。 – Andrei 2015-04-07 22:44:16