Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url 在eclipse插件中查找图标_Url_Jar_Eclipse Plugin_Uri_Bundle - Fatal编程技术网

Url 在eclipse插件中查找图标

Url 在eclipse插件中查找图标,url,jar,eclipse-plugin,uri,bundle,Url,Jar,Eclipse Plugin,Uri,Bundle,我想获取Eclipse插件中图标的操作系统位置,我使用以下代码: URL fileURLIconChoose=bundle.getEntry(“pluginIcons/iconConfirm.png”); 字符串pathIconChoose=null; 试一试{ pathIconChoose=FileLocator.resolve(fileURLIconChoose.toURI().getPath(); }捕获(URISyntaxException e1){ e1.printStackTrace

我想获取Eclipse插件中图标的操作系统位置,我使用以下代码:

URL fileURLIconChoose=bundle.getEntry(“pluginIcons/iconConfirm.png”);
字符串pathIconChoose=null;
试一试{
pathIconChoose=FileLocator.resolve(fileURLIconChoose.toURI().getPath();
}捕获(URISyntaxException e1){
e1.printStackTrace();
}捕获(IOE1异常){
e1.printStackTrace();
}
JButton confirm=newjbutton(newimageicon(pathIconChoose));
当我在eclipse环境中运行代码时,它工作正常,但当我导出产品并在eclipse中安装它时,它失败了


如何解决图标加载问题?是否有其他方法访问插件中的图标?

您将需要使用
FileLocator.toFileURL(URL URL URL)
API

从中可以看到,当您需要访问文件时,它会将文件的内容提取到磁盘

重新工作的代码:

URL fileURLIconChoose=bundle.getEntry(“pluginIcons/iconConfirm.png”);
字符串pathIconChoose=null;
试一试{
pathIconChoose=FileLocator.toFileURL(fileURLIconChoose.toURI().getPath();
}捕获(URISyntaxException e1){
e1.printStackTrace();
}捕获(IOE1异常){
e1.printStackTrace();
}
JButton confirm=newjbutton(newimageicon(pathIconChoose));

这是如何失败的?有堆栈跟踪吗?在此处包括堆栈跟踪。没有堆栈跟踪,因为在安装后启动它时会出现错误…但是
pathIconChoose
保持为空,并且在执行一些测试后,问题是在
FileLocator.resolve(fileURLIconChoose)上调用它时
问题仍然存在……当我导出插件并在Eclipse上尝试此操作时,
pathIconChoose
保持空值……还要确保插件中的build.properties包含在bin.includes文件夹pluginiconyes中,我将其插入到build.includes in plugin.xml中,您可以打印fileURLIconChoose的值,然后还可以打印FileLocator.toFileURL()URL的值来比较两者吗?可以通过JOptionPane。。。对于文件urliconchoose file:/C:/Program Files(x86)/eclipse/configuration/org.eclipse.osgi/bundles/848/1/.cp/pluginIcons/iconConfirm.png;对于FileLocator.toFileURL,该URL为空