从片段访问插件,反之亦然



我试图添加一个片段的插件,以便有在不影响插件的情况下添加到插件的信息。

然而,我遇到的问题是我可以访问资源那是在插件从片段,但不是其他方式周围。

这就是我如何获取资源和两者的清单项目。资源文件"patch.xml"在/src目录下。

test.plugin2:

主类:

public class Main{
    public static void main(String[] args) {
        RetrieveResource ma = new RetrieveResource();
        ma.retrieve();
    }
}

RetrieveResource:

public class RetrieveResource {
    public RetrieveResource(){
    }
    public void retrieve(){
        URL url = this.getClass().getClassLoader().getResource("patch.xml");
        System.out.println(url);
    }
}

url总是空的。

manifest . mf:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Plugin2
Bundle-SymbolicName: test.plugin2;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0"

的build . properties

source.. = src/
output.. = bin/
bin.includes = META-INF/,
               .,

test.fragment2:

manifest . mf

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Fragment2
Bundle-SymbolicName: test.fragment2
Bundle-Version: 1.0.0.qualifier
Fragment-Host: test.plugin2;bundle-version="1.0.0.qualifier"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: test.fragment2.classes

的build . properties

source.. = src/
output.. = bin/
bin.includes = META-INF/,
               .,

缺少什么或者我哪里出错了?
甚至有可能从插件访问片段吗?

问题解决:在我的测试中,我开始测试。Plugin2项目"java应用程序"模式。因为片段和插件都有要在运行时合并,必须启动应用程序在"eclipse应用程序"模式下,不会有任何问题获取资源

使用FileLocator.find(在org.eclipse.core.runtime中)搜索插件和片段中的资源

Bundle bundle = ... your plugin Bundle
IPath path = new Path("patch.xml");
URL url = FileLocator.find(bundle, path, null);

相关内容

  • 没有找到相关文章

最新更新