0

我想更新旧的 Eclipse Image Viewer 插件https://github.com/persal/quickimage 。

添加 maven/tycho 构建并针对 Kepler 构建之后。

它适用于新的 Eclipse 实例(项目 -> 作为 Eclipse 应用程序运行),但是在此处安装时出现问题#6

org.eclipse.swt.SWTException: i/o 错误 (java.io.FileNotFoundException: file:\D:\Progs\Eclipses\eclipse-standard-luna-R-win32-x86_64\eclipse\plugins\nu.psnet.quickimage .plugin_1.1.0.201503030326.jar!\icons\previous.gif(文件名、目录名或卷标语法不正确。))

文件名、目录名或卷标语法不正确

看代码有一行

iconsdir = FileLocator.resolve(QuickImagePlugin.getDefault().getBundle().getEntry("/")).getFile() + "icons" + File.separator;

得到这样的路径。

问题是,如果 bungle jar 变成像这样的文件夹,它应该可以工作nu.psnet.quickimage_1.0.3.2

更新:作为使用 Luna 4.4.0 的 IDE

4

2 回答 2

1

这由包含插件的 feature.xml 中的标志控制。

<plugin id="..." unpack="true"/>
于 2015-03-03T04:07:27.257 回答
1

如果您可以更改插件的来源,则可以更改

iconsdir = FileLocator.resolve(QuickImagePlugin.getDefault().getBundle().getEntry("/")).getFile() + "icons" + File.separator;

类似于:

URL dir = FileLocator.find(QuickImagePlugin.getDefault().getBundle(),
                           new Path("icons"), null);

dir = FileLocator.toFileURL(dir);

String iconsdir = dir.getPath() + File.separator;

即使插件打包在 jar 中,这也应该有效。

于 2015-03-03T08:10:44.723 回答