简体   繁体   English

插件开发错误

[英]Plug-in Development error

I am learning Plug-in Development in Eclipse and have decided to follow the tutorials on Vogella ( http://www.vogella.com/tutorials/EclipsePlugIn/article.html#top ) However, I am getting an error in my console as soon as I right click on the project and select 'run as eclipse application' (4.2 in the tutorial). 我正在学习Eclipse中的插件开发,因此决定遵循Vogella上的教程( http://www.vogella.com/tutorials/EclipsePlugIn/article.html#top )但是,我在控制台中遇到了一个错误右键单击项目并选择“以Eclipse应用程序运行”(本教程中为4.2)。

Here is the error: 这是错误:

!SESSION 2014-11-19 10:58:22.636 -----------------------------------------------
eclipse.buildId=4.4.0.I20140606-1215
java.version=1.7.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_NZ
Framework arguments:  -product org.eclipse.platform.ide
Command-line arguments:  -product org.eclipse.platform.ide -data \\engad.foe.auckland.ac.nz\engdfs\Home\dgop507\workspace/../runtime-EclipseApplication -dev file://engad.foe.auckland.ac.nz/engdfs/Home/dgop507/workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86_64 -consoleLog

!ENTRY org.eclipse.jface 4 0 2014-11-19 10:58:36.043
!MESSAGE /icons/sample.gif
!STACK 0
java.io.FileNotFoundException: /icons/sample.gif
    at org.eclipse.osgi.storage.url.bundleentry.Handler.findBundleEntry(Handler.java:37)
    at org.eclipse.osgi.storage.url.BundleResourceHandler.openConnection(BundleResourceHandler.java:169)
    at java.net.URL.openConnection(URL.java:971)
    at org.eclipse.core.internal.boot.PlatformURLConnection.connect(PlatformURLConnection.java:110)
    at org.eclipse.core.internal.boot.PlatformURLConnection.getURLAsLocal(PlatformURLConnection.java:238)
    at org.eclipse.core.internal.runtime.PlatformURLConverter.toFileURL(PlatformURLConverter.java:36)
    at org.eclipse.core.runtime.FileLocator.toFileURL(FileLocator.java:206)
    at org.eclipse.jface.resource.URLImageDescriptor.getFilePath(URLImageDescriptor.java:141)
    at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:162)
    at org.eclipse.jface.resource.ImageDescriptor.createResource(ImageDescriptor.java:167)
    at org.eclipse.jface.resource.DeviceResourceManager.allocate(DeviceResourceManager.java:58)
    at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:89)
    at org.eclipse.jface.resource.LocalResourceManager.allocate(LocalResourceManager.java:85)
    at org.eclipse.jface.resource.AbstractResourceManager.create(AbstractResourceManager.java:89)
    at org.eclipse.jface.resource.ResourceManager.createImage(ResourceManager.java:172)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.getImage(HandledContributionItem.java:580)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.updateIcons(HandledContributionItem.java:553)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.update(HandledContributionItem.java:440)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.fill(HandledContributionItem.java:376)
    at org.eclipse.jface.action.ToolBarManager.update(ToolBarManager.java:365)
    at org.eclipse.e4.ui.workbench.renderers.swt.ToolBarManagerRenderer$3.handleEvent(ToolBarManagerRenderer.java:205)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:4734)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:218)
    at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
    at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
    at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
    at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
    at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
    at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
    at 

When I remove icon= "icons/sample.gif" from build.properties, I get the following error: 当我从build.properties中删除icon =“ icons / sample.gif”时,出现以下错误:

java.io.IOException: Unable to resolve plug-in "platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/eview16/task-list.gif".
    at org.eclipse.core.internal.runtime.PlatformURLPluginConnection.parse(PlatformURLPluginConnection.java:64)
    at org.eclipse.core.internal.runtime.PlatformURLPluginConnection.resolve(PlatformURLPluginConnection.java:75)
    at org.eclipse.core.internal.boot.PlatformURLHandler.openConnection(PlatformURLHandler.java:67)
    at org.eclipse.osgi.internal.url.URLStreamHandlerProxy.openConnection(URLStreamHandlerProxy.java:114)
    at java.net.URL.openConnection(URL.java:971)
    at org.eclipse.core.internal.runtime.PlatformURLConverter.toFileURL(PlatformURLConverter.java:33)
    at org.eclipse.core.runtime.FileLocator.toFileURL(FileLocator.java:206)
    at org.eclipse.jface.resource.URLImageDescriptor.getFilePath(URLImageDescriptor.java:141)
    at org.eclipse.jface.resource.URLImageDescriptor.createImage(URLImageDescriptor.java:162)
    at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:230)
    at org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:208)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.getImageFromURI(SWTPartRenderer.java:221)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.getImage(SWTPartRenderer.java:233)
    at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.createTab(StackRenderer.java:829)
    at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.processContents(LazyStackRenderer.java:134)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:185)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715)
    at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:68)
    at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:185)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:674)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)

I'm not sure if this is to do with my configuration/workspace settings. Any help would be much appreciated.

Right from your error: 从您的错误开始:

java.io.FileNotFoundException: /icons/sample.gif

Your plug-in can't find the icons directory or the sample.gif file. 您的插件找不到图标目录或sample.gif文件。

Make sure your icons directory is in the plug-in classpath. 确保您的图标目录在插件类路径中。

The problem with that Exception is that your Plug-In is deployed and is looking for resources in a referenced path, that can not be found. 该异常的问题在于,您的插件已部署并且正在找不到的引用路径中寻找资源。 try something like creating an Image and set the path to the icons according to the path of that class... 尝试创建图像并根据该类的路径将图标的路径设置为...

Something like this: new Image(yourDisplay, getClass().getClassLoader().getResourceAsStream("icons/your-icon.png")) 像这样的东西: new Image(yourDisplay, getClass().getClassLoader().getResourceAsStream("icons/your-icon.png"))

and this should work fine! 这应该工作正常!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM