RuntimeException: Приложение "" невозможно найти в реестре.
Фон
Цель. Я пытаюсь установить плагин Simics Tools для Eclipse на 64-разрядную версию Windows 7.
Я использую Eclipse Indigo для Java (64-бит < - Это будет проблемой позже) и только что установили плагин C/С++ IDE, плагин GEF draw2d и Simics Tools для Eclipse. После успешного завершения установки этих плагинов я перезапустил Eclipse и начал запускать Simics Control из Eclipse. В диалоговом окне ошибки указано, что этот плагин не может работать на 64-битном Eclipse.
Чтобы решить эту проблему, я решил установить 32-разрядную версию Eclipse рядом с моей текущей настройкой и удалить только что установленные плагины (C/С++, GEF и Simics) из Eclipse. Во-первых, я собирался удалить плагины, чтобы избежать потери пространства. Я отправился в 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.
. После поиска в Интернете кажется, что это общая ошибка.
Ресурсы
Идеи
- Удаление/затмение/конфигурация папки и перезапуск. Не удалось.
-
Измените config.ini. Должен ли я быть обеспокоен тем, что eclipse.product
и eclipse.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
[email protected]/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\:or[email protected]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
[email protected]/../p2/
eclipse.application=
-
Изменить 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? Мне бы действительно не пришлось выполнять чистую установку, так как потребовалось много времени, чтобы настроить ее.
Спасибо заранее!
Ответы
Ответ 1
Пусто
eclipse.application=
в config.ini - проблема.
Значение по умолчанию, которое вы можете использовать, -
eclipse.application=org.eclipse.ui.ide.workbench
Тот же подсчет для пустого eclipse.product
eclipse.product=org.eclipse.platform.ide
Ответ 2
Ваше первое затмение включало C/С++ как часть его zip, так как это были Eclipse для разработчиков C/С++. Это то, что говорит продукт org.eclipse.epp.package.cpp.product
. Вы не устанавливали среду исполнения C/С++ отдельно, хотя вы могли установить исходные плагины отдельно. Но, тем не менее, вы сказали, чтобы удалить конфигурации, уничтожившие этот продукт, и теперь эта установка не работает. Лучше всего удалить его и распаковать ZIP снова.
Другие параметры: вы можете отменить свое изменение конфигурации, используя p2-директор в командной строке. Что-то вроде:
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 для описания процесса (это предложение пропустить или пропустить, но, возможно, лучше, чем удаление и распаковка).
Ответ 3
Панель управления- > Расширенная настройка системы → Переменные среды →
Теперь вам нужно сделать 2 вещи:
1-Создать новую переменную
переменная name= JAVA_HOME
значение переменной = C:\Program Files\Java\jdk1.7.0_01
2-Редактировать переменную Path и добавить это в конце этого
;% JAVA_HOME%\Bin
Ответ 4
Я попытался очистить конфигурацию на вкладке конфигурации, и она сработала!
установите флажок "Очистить область до запуска".
Ответ 5
Если у вас есть папка конфигурации, предшествующая обновлению, замените текущую на не обновленную. Это решит проблему.