我试图将一个片段添加到插件中以便拥有 添加到插件中的信息不会触及后者。
但是,我遇到的问题是我可以访问资源 这些是来自片段的插件,而不是其他方式 周围。
这就是我获取资源的方式以及两者的清单 项目。资源文件" 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始终为null。
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/,\
.,\
缺少什么或我哪里出错了?
甚至可以从插件中访问片段吗?
问题已解决: 在我的测试中,我正在启动test.plugin2项目 " java应用程序"模式。由于片段和插件有 要在运行时合并,必须启动应用程序 在" eclipse应用程序"模式,没有问题 获取资源。
答案 0 :(得分:1)
使用FileLocator.find
(在org.eclipse.core.runtime
中)搜索插件和片段中的资源。
Bundle bundle = ... your plugin Bundle
IPath path = new Path("patch.xml");
URL url = FileLocator.find(bundle, path, null);