我有一个插件,在运行时使用一些纯文本和二进制文件。
这是因为插件正在使用一些第三方代码,它在传统应用程序中起作用,即从应用程序目录中获取数据。
当我从Eclipse中运行插件时,这些数据只是放在某些文件夹的项目目录中。
要访问此数据,我使用的代码如
public static final String CorePropertiesPath = "conf/core.xml";
public static URL CorePropertiesURL;
//...
Bundle bundle = Platform.getBundle(ID);
CorePropertiesURL = bundle.getEntry(CorePropertiesPath);
try {
CorePropertiesURL = FileLocator.resolve(CorePropertiesURL);
} catch (IOException e) {
e.printStackTrace();
}
即。从" core / core.xml"中的文件访问数据在我的项目目录中,我首先使用getEntry()
方法然后使用resolve()
方法对其进行转换。
这很有用。
但是当我开始创建产品时,我发现我的文件就像" core / core.xml"只是缺席目标目录。可能他们应该住在我的捆绑罐里,但他们不在那里。
如何强迫他们来到规定的地方?
答案 0 :(得分:1)
检查build.properties文件(您可以在清单编辑器的' Build'选项卡上进行编辑)。添加
Eclipse-BundleShape: dir
如果你想为你的包生成一个目录而不是jar,那么在你的MANIFEST.MF中。