7
我有以下代碼無法施展Eclipse項目到IJavaProject
IJavaProject targetProject = null;
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
for (IProject project : root.getProjects()) {
if (project.getName().equals(projName)) {
try {
if (project.hasNature("org.eclipse.jdt.core.javanature")) {
targetProject = (IJavaProject) project;
}
} catch(...) {
// etc ...
}
我所試圖做的是本質上返回一個特定的名稱相匹配作爲IJavaProject項目。正如你所看到的,我檢查,以確保有問題的項目具有Java性質致電:
if (project.hasNature("org.eclipse.jdt.core.javanature")) {
唉,我得到一個「ClassCaseException」指出
java.lang.ClassCastException:
org.eclipse.core.internal.resources.Project cannot be cast to org.eclipse.jdt.core.IJavaProject
任何想法,爲什麼?我一直認爲,一旦IProject具有java特性,就可以將其轉換爲IJavaProject。由於服務不可用,我目前無法訪問JDT Core API here。
是的,它是一種類型;) – Joeblackdev