【问题标题】:Where is application-scope location of resources in Eclipse RCP?Eclipse RCP 中资源的应用程序范围位置在哪里?
【发布时间】:2014-02-03 20:07:34
【问题描述】:

我正在将一些 3rd 方应用程序包装到 Eclipse 插件中。

此应用程序使用“当前”目录中的一些数据文件,即运行应用程序的目录。

最初我将所有这些文件放在 Eclipse 插件项目的第一级,并且可以通过

bundle.getEntry("./conf/conf.xml")

不幸的是,这段代码创建了奇怪的 URL,例如

bundleentry://88.fwk1692538903/./conf/conf.xml

为什么会这样?是否可以将所有应用程序范围的文件放入某个全局位置并从插件中引用它?

【问题讨论】:

    标签: java eclipse osgi eclipse-rcp


    【解决方案1】:

    使用org.eclipse.core.runtime.FileLocatorbundleentry URL 转换为普通的file URL:

    URL bundleURL = bundle.getEntry("...");
    
    URL fileURL = FileLocator.toFileURL(bundleURL);
    

    注意:如果插件在 jar 中而不是在安装期间展开,则返回的 URL 可能会引用元数据中插件已展开的临时位置。

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      相关资源
      最近更新 更多