繁体   English   中英

eclipse插件项目的根目录

[英]Root directory of eclipse plugin project

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

目前我在桌面上使用它

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

我想将TestFile.eap放入Test的根目录中,然后从那里访问它,例如:

File f  = new File(EapName);

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

谢谢!

两种可能性:

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");

有关这两种方法的更多信息,请参阅插件在何处存储其状态?

采用

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提取到一个临时位置,以便您可以使用File API访问它。

确保在插件build.properties文件中包含该文件。

暂无
暂无

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

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