Плагин Eclipse пытается загрузить значок из удаленного проекта плагина

#java #eclipse #eclipse-plugin #eclipse-pde

#java #eclipse #eclipse-плагин #eclipse-pde

Вопрос:

Сначала я создал плагин Helloworld с помощью мастера создания нового проекта Eclipse. Я смог успешно запустить его.Затем я удалил этот проект (также проверил «Удалить содержимое на диске»).

После этого я создал вклад в представление, используя проект плагина API 4.x. При запуске плагина отображалось сообщение ниже

 !MESSAGE Removing PartDescriptorImpl with the "viewplugin.views.SampleView" id and the "Sample View" label.It points to the non available "bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.e4.compatibility.CompatibilityView" class. Bundle might have been uninstalled
 

Но открывается новое окно eclipse, и когда я пытаюсь открыть представление, было выдано исключение, и содержимое представления не отображалось.

 !ENTRY org.eclipse.core.runtime 4 0 2021-04-02 16:08:38.367
!MESSAGE Invalid input url:platform:/plugin/Helloworld/icons/Sample.png
!STACK 0
java.io.IOException: Unable to resolve plug-in "Helloworld".
    at org.eclipse.core.internal.runtime.PlatformURLPluginConnection.parse(PlatformURLPluginConnection.java:64)
    at org.eclipse.core.internal.runtime.FindSupport.find(FindSupport.java:293)
    at org.eclipse.core.runtime.FileLocator.find(FileLocator.java:206)
 

и

 !MESSAGE The image could not be loaded: URLImageDescriptor(platform:/plugin/Helloworld/icons/Sample.png)
!STACK 0
org.eclipse.jface.resource.DeviceResourceException: Unable to create resource URLImageDescriptor(platform:/plugin/Helloworld/icons/Sample.png)
    at org.eclipse.jface.resource.ImageDescriptor.createResource(ImageDescriptor.java:229)
    at org.eclipse.jface.resource.DeviceResourceManager.allocate(DeviceResourceManager.java:55)
    at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:88)
 

(не вставил полную трассировку стека)

Местоположение, указанное в трассировке стека, относится к удаленному проекту Helloworld. Почему eclipse пытается загрузить значок из предыдущего проекта?

Я попытался перезапустить рабочее пространство, также попытался создать новое рабочее пространство. Но ошибка все еще генерируется.

ПРИМЕЧАНИЕ: я не вносил никаких изменений в плагин шаблона. Кроме того, нет проблем с проектом шаблона hello world

Комментарии:

1. Попробуйте запустить с -clean опцией

2. @greg-449 В аргументах программы верно? Исключение по-прежнему генерируется. URI: bundleclass://Helloworld/com.plugins.helloworld.parts.HelloWorldView

3. Да, в аргументах программы запуска конфигурации. Обычно у меня -consoleLog -debug -clean

4. @greg-449, проблема заключалась в расположении данных рабочей области по умолчанию в конфигурации запуска, которая была ${workspace_loc}/../runtime-EclipseApplication

Ответ №1:

По умолчанию местоположение, указанное в данных рабочей области, является ${workspace_loc}/../runtime-EclipseApplication . Это каким-то образом приводило к загрузке и предыдущего проекта. введите описание изображения здесь

Я смог исправить это, выполнив следующие действия:

  1. Нажмите на Workspace опцию в разделе «Данные рабочей области» в конфигурации запуска.
  2. Выберите соответствующий проект плагина.
  3. Примените и запустите / отладьте.