RuntimeException:在注册表中找不到应用程序“”。

背景

目标:我正在尝试在Windows 7 64位上安装Simics Tools for Eclipse插件。

我正在使用Eclipse Indigo for Java(64位< – 这将是一个问题),刚刚安装了C / C ++ IDE插件,GEF draw2d插件和Eclipse的Simics工具。 成功完成这些插件的安装后,我重新启动了Eclipse并继续从Eclipse内部启动了Simics Control。 错误对话框表明此插件无法在64位Eclipse上运行。

为了解决这个问题,我决定在我当前的设置旁边安装一个32位版本的Eclipse,并从Eclipse卸载我刚刚安装的插件(C / C ++,GEF和Simics)。 首先,我打算删除插件以避免浪费空间。 我转到Help-> About-> Installation Details并选择要卸载的已安装插件。 在重新启动Eclipse之前,删除插件似乎很成功。

问题

删除插件后,当Eclipse启动时,会出现启动屏幕,底部没有进度条以显示当前正在加载的内容。 几秒钟后,启动画面消失,并显示错误对话框: 发生错误。 请参阅日志文件C:\ Program Files(x86)\ eclipse \ configuration \ 1322503657546.log

内容1322503657546.log:

!SESSION 2011-11-28 12:07:37.255 ----------------------------------------------- eclipse.buildId=I20110613-1736 java.version=1.7.0 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Framework arguments: -product org.eclipse.epp.package.cpp.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.cpp.product !ENTRY org.eclipse.osgi 4 0 2011-11-28 12:07:39.521 !MESSAGE Application error !STACK 1 java.lang.RuntimeException: Application "" could not be found in the registry. The applications available are: com.google.gwt.eclipse.core.GWTCodeFormatterApplication, com.virtutech.simics.ui.app, com.virtutech.simics.ui.appAn, com.virtutech.simics.ui.simpleSimicsApplication, org.eclipse.ant.core.antRunner, org.eclipse.ant.ui.antRunner, org.eclipse.cdt.core.GeneratePDOM, org.eclipse.datatools.connectivity.console.profile.StorageFileEditor, org.eclipse.emf.codegen.CodeGen, org.eclipse.emf.codegen.JMerger, org.eclipse.emf.codegen.ecore.Generator, org.eclipse.emf.importer.ecore.Ecore2GenModel, org.eclipse.emf.importer.java.Java2GenModel, org.eclipse.emf.importer.rose.Rose2GenModel, org.eclipse.equinox.app.error, org.eclipse.equinox.p2.director, org.eclipse.equinox.p2.garbagecollector.application, org.eclipse.equinox.p2.publisher.InstallPublisher, org.eclipse.equinox.p2.publisher.EclipseGenerator, org.eclipse.equinox.p2.publisher.ProductPublisher, org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher, org.eclipse.equinox.p2.reconciler.application, org.eclipse.equinox.p2.repository.repo2runnable, org.eclipse.equinox.p2.repository.metadataverifier, org.eclipse.equinox.p2.artifact.repository.mirrorApplication, org.eclipse.equinox.p2.metadata.repository.mirrorApplication, org.eclipse.equinox.p2.updatesite.UpdateSitePublisher, org.eclipse.equinox.p2.publisher.UpdateSitePublisher, org.eclipse.equinox.p2.publisher.CategoryPublisher, org.eclipse.help.base.infocenterApplication, org.eclipse.help.base.helpApplication, org.eclipse.help.base.indexTool, org.eclipse.jdt.apt.core.aptBuild, org.eclipse.jdt.core.JavaCodeFormatter, org.eclipse.pde.build.Build, org.eclipse.pde.junit.runtime.uitestapplication, org.eclipse.pde.junit.runtime.legacytestapplication, org.eclipse.pde.junit.runtime.coretestapplication, org.eclipse.pde.junit.runtime.coretestapplicationnonmain, org.eclipse.pde.junit.runtime.nonuithreadtestapplication, org.eclipse.ui.ide.workbench, org.eclipse.uml2.uml.ecore.importer.UML2GenModel, org.eclipse.update.core.standaloneUpdate, org.eclipse.update.core.siteOptimizer, org.eclipse.wst.jsdt.core.JavaCodeFormatter, org.eclipse.wst.server.preview.preview. at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248) at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) 

重要的行似乎是java.lang.RuntimeException: Application "" could not be found in the registry. 在搜索网络后,似乎这是一般错误。

资源:

  • Eclipse论坛
  • 我尝试删除我的/ eclipse /配置/文件夹并重新启动,但这造成了一大堆新的错误。

思路

  1. 删除/ eclipse /配置文件夹并重新启动。 失败。
  2. 编辑config.ini。 我应该担心eclipse.producteclipse.application是空白的吗?

    config.ini的内容:

     #This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser #Mon Nov 28 11:18:26 CST 2011 org.eclipse.update.reconcile=false eclipse.p2.profile=epp.package.jee osgi.instance.area.default=@user.home/workspace osgi.framework=file\:plugins/org.eclipse.osgi_3.7.0.v20110613.jar equinox.use.ds=true eclipse.buildId=I20110613-1736 osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.200.v20110502-1955.jar@1\:start org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info eclipse.product= osgi.splashPath=platform\:/base/plugins/org.eclipse.platform osgi.framework.extensions=reference\:file\:javax.transaction_1.1.1.v201105210645.jar osgi.bundles.defaultStartLevel=4 eclipse.p2.data.area=@config.dir/../p2/ eclipse.application= 
  3. 编辑eclipse.ini。

    eclipse.ini的内容:

     -startup plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502 -showsplash org.eclipse.platform --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile -product org.eclipse.epp.package.cpp.product --launcher.defaultAction openFile --launcher.XXMaxPermSize 256M -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms512m -Xmx1024m 

我怎样才能再次成功启动Eclipse? 我真的不需要执行干净安装,因为它需要很长时间才能完成设置。

提前致谢!

  eclipse.application = 

在config.ini是有问题的。 您可以使用的默认值是

  eclipse.application = org.eclipse.ui.ide.workbench 

空eclipse.product的计数相同

 的eclipse.product = org.eclipse.platform.ide 

你的第一次日食包括C / C ++作为其zip的一部分,因为它是用于C / C ++开发人员的Eclipse。 这就是产品org.eclipse.epp.package.cpp.product所说的。 虽然您可能已单独安装了源插件,但未单独安装C / C ++运行时。 但是,你告诉它删除那些产品的配置,现在安装已经破了。 你最好的办法是删除它并再次解压缩你的ZIP。

其他选项:您可以使用命令行上的p2 director来回滚配置更改。 就像是:

 eclipse/eclipse -noSplash \ -application org.eclipse.equinox.p2.director \ -repository file:$(pwd)/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile \ -profile SDKProfile \ -revert 1299499722731 

请参阅http://pweclipse.blogspot.com/2011/03/working-state-from-p2-update.html以获取该过程的描述(这是命中或错过命题,但可能比删除和解压缩更好)。

控制面板 – >高级系统设置 – >环境变量 – >

现在你必须做两件事:

1 – 创建一个新的变量变量name = JAVA_HOME
变量值= C:\ Program Files \ Java \ jdk1.7.0_01

2-Edite the Path变量并在其末尾添加它
;%JAVA_HOME%\ bin中

我尝试在配置选项卡中清除配置,它工作了!!

选中“启动前清除配置区域”复选框。

如果您在更新之前有配置文件夹,则将当前文件替换为未更新的文件夹。 这将解决问题。