#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
. Это каким-то образом приводило к загрузке и предыдущего проекта.
Я смог исправить это, выполнив следующие действия:
- Нажмите на
Workspace
опцию в разделе «Данные рабочей области» в конфигурации запуска. - Выберите соответствующий проект плагина.
- Примените и запустите / отладьте.