很多此类信息存储在项目文件夹的.project 文件中。访问信息的正确方法是通过项目的IProject 对象。
IProject.getDescription 方法返回一个包含项目信息的IProjectDescription。
要确定项目类型,您需要查看项目描述中定义的natures。 IProjectDescription.getNatureIds() 方法返回一个自然 ID 数组。 Java 项目将具有org.eclipse.jdt.core.javanature,插件将具有org.eclipse.pde.PluginNature(Java 插件将具有这两种性质)。
查找IProject。如果您在 Package 或 Project Explorer 之类的选项中有选择,请尝试:
IResource resource = (IResource)Platform.getAdapterManager().getAdapter(obj, IResource.class);
或
IFile file = (IFile)Platform.getAdapterManager().getAdapter(obj, IFile.class);
这些接口的getProject() 方法为您提供IProject。你也可以这样做:
IProject project = (IProject)Platform.getAdapterManager().getAdapter(obj, IProject.class);
上面的Platform 是org.eclipse.core.runtime.Platform(Eclipse 中还有其他Platform 类,所以一定要选对)。
如果您只有一个项目名称,请使用:
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);