从 eclipse-plugin 访问相对路径

发布于 2024-11-14 01:37:25 字数 350 浏览 1 评论 0原文

有谁知道如何从自制的Eclipse插件中获取带有uri的文件?

绝对路径没问题:

URI.createFileURI("C:/Users/hp/workspace(dke)/SMartGen/StarSchema.profile.uml");

但是如何相对访问本地资源呢?

URI.createFileURI("jar:file:/%ECLIPSE_HOME%/plugins/SMartGen.jar!StarSchema.profile.uml");

这样不行……

对每个答案都很高兴。

LG马丁

Does anyone know how to get a file with uri from a self-made Eclipse Plug-in?

Absolute paths would be no problem:

URI.createFileURI("C:/Users/hp/workspace(dke)/SMartGen/StarSchema.profile.uml");

But how do I access local resources relatively?

URI.createFileURI("jar:file:/%ECLIPSE_HOME%/plugins/SMartGen.jar!StarSchema.profile.uml");

doesn't work this way....

Happy for every answer.

lg martin

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云胡 2024-11-21 01:37:25

使用 FileLocator

示例:

URL iconUrl = FileLocator.find(Platform.getBundle("myBundle"), new Path("icons/someIcon.png"), null);

这将获取位于捆绑包“myBundle”中“icons”文件夹中的文件“someIcon.png”的 URL 。

Use the FileLocator.

Example:

URL iconUrl = FileLocator.find(Platform.getBundle("myBundle"), new Path("icons/someIcon.png"), null);

This will get the URL of a file "someIcon.png" that is located in the "icons" folder in the bundle "myBundle".

长伴 2024-11-21 01:37:25

要从 Eclipse 中获取资源,您可以使用 org.osgi.framework.Bundle.getEntry(String)。它返回一个标准的 java.net.URL,它也可用于获取用于使用的 InputStream。它的优点是不关心你的插件是目录形式、jar 形式还是在你的工作空间中。

Bundle bundle = FrameworkUtil.getBundle(MyClass.class);
URL url = bundle.getEntry("StarSchema.profile.uml");

URL 也有一个方便的 toURI() 方法。

For getting a resource out of eclipse, you can use org.osgi.framework.Bundle.getEntry(String). That returns a standard java.net.URL, which can also be used to get the InputStream for consumption. It has the advantage of not caring if your plugin is in directory form, jar form, or in your workspace.

Bundle bundle = FrameworkUtil.getBundle(MyClass.class);
URL url = bundle.getEntry("StarSchema.profile.uml");

URL has a handy toURI() method as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文