在 eclipse 的 classpath 库中选择的资源的适配器 class 是什么
What is the adapter class of a resource selected in the classpath libraries in the eclipse
使用以下代码获取在 "Referenced libraries" 或 "JRE System Library" 中选择的资源(jar)的路径。但它不是"org.eclipse.core.resources.IResource"的适配器,所以失败了。
那么这个资源的适配器class是什么?
private String getPathOfSelectedResource(ISelection selection) {
IAdaptable target = (IAdaptable) ((IStructuredSelection) selection).getFirstElement();
IResource resource = null;
if (target instanceof IResource) {
resource = (IResource) target;
}
if (resource == null) {
resource = target.getAdapter(IResource.class);
}
if (resource != null) {
return resource.getLocation().toOSString();
}
return null;
}
这将是一个 org.eclipse.jdt.core.IJavaElement
。
实际上它会实现 IPackageFragmentRoot
但我认为没有为此注册的适配器。
使用以下代码获取在 "Referenced libraries" 或 "JRE System Library" 中选择的资源(jar)的路径。但它不是"org.eclipse.core.resources.IResource"的适配器,所以失败了。 那么这个资源的适配器class是什么?
private String getPathOfSelectedResource(ISelection selection) {
IAdaptable target = (IAdaptable) ((IStructuredSelection) selection).getFirstElement();
IResource resource = null;
if (target instanceof IResource) {
resource = (IResource) target;
}
if (resource == null) {
resource = target.getAdapter(IResource.class);
}
if (resource != null) {
return resource.getLocation().toOSString();
}
return null;
}
这将是一个 org.eclipse.jdt.core.IJavaElement
。
实际上它会实现 IPackageFragmentRoot
但我认为没有为此注册的适配器。