eclipse插件项目的根目录

时间:2015-05-08 14:23:40

标签: java eclipse-plugin eclipse-rcp

我有一个基于eclipse插件的RCP应用程序。我有一个文件,我想把它放在我的插件的根目录中并从那里访问它,所以它可以在任何平台(Windows或Linux)上使用。例如,我的插件名称是测试,我有一个文件 TestFile.eap

目前我正在使用桌面

 private String  EapName = "C:\\Users\\abc\\Desktop\\TestFile.eap";

我想将TestFile.eap放在Test的根目录中并从那里访问它,如:

File f  = new File(EapName);

如何获取我的eclipse插件的根目录?

谢谢!

2 个答案:

答案 0 :(得分:0)

两种可能性:

1)该文件是静态的,并作为插件的一部分进行部署:

URL url = new URL("platform:/plugin/my.plugin.id/the/relative/path");
InputStream inputStream = url.openConnection().getInputStream();

2)文件是动态创建的,你需要一个放置它的地方:

IPath pluginStatePath = MyPlugin.getDefault().getStateLocation();
IPath filePath = pluginStatePath.append("my/relative/filepath");

有关这两种方法的详细信息,请参阅Where do plugins store their state?

答案 1 :(得分:0)

使用

Bundle bundle = Platform.getBundle("your plugin id");

URL pluginURL = FileLocator.find(bundle, new Path("TestFile.eap"), null);

URL fileURL = FileLocator.toFileURL(pluginURL);

File file = new File(fileURL.getPath());

如果您的插件打包为jar(通常是这样),这会将文件从jar提取到临时位置,以便您可以使用文件API访问它。

请务必将该文件包含在插件build.properties文件中。