有谁知道如何从自制的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 martin
发布于 2011-06-07 15:13:07
使用FileLocator。
示例:
URL iconUrl = FileLocator.find(Platform.getBundle("myBundle"), new Path("icons/someIcon.png"), null);这将获得位于捆绑包"myBundle“的"icons”文件夹中的文件"someIcon.png“的URL。
发布于 2011-06-08 20:54:42
要从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()方法。
https://stackoverflow.com/questions/6253886
复制相似问题