我正在开发一个插件。在这里我把项目作为文本框的输入,这是一个字符串,但它必须在继续之前转换为IJavaProject类型。我怎么能这样做?
由于
答案 0 :(得分:2)
如果projectName
不存在,IProject
(只是句柄)将为空。
IJavaProject
也将为空...所以我不推荐beny23的solution。
JavaCore.create(IProject)
状态的javadoc,“此时没有检查此项目的存在或java性质。”
请参阅this thread从头开始以编程方式创建Java项目。提取
final IJavaProject javaProject = JavaCore.create(project);
final IProjectDescription projectDescription =
workspace.newProjectDescription(projectName);
projectDescription.setLocation(null);
project.create(projectDescription, new SubProgressMonitor(progressMonitor, 1));
您可以使用以下方法检查是否确实已创建:
IJavaProject.getUnderlyingResource().exists();
另请参阅this thread作为Java项目创建的另一个代码示例。
That thread也会创建项目,即使它们的性质比Java更完整。
答案 1 :(得分:0)
以下内容应该有效
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
IJavaProject javaProject = JavaCore.create(project);