मेरे पास निम्न कोडग्रहण परियोजना को 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 के रूप में मेल खाता है। जैसा कि आप देख सकते हैं, मैं यह सुनिश्चित करने के लिए जांच करता हूं कि प्रश्न में प्रोजेक्ट में जावा प्रकृति है:
if (project.hasNature("org.eclipse.jdt.core.javanature")) {
हां, मुझे 'क्लाससेज़ एक्सेप्शन' मिलता है
java.lang.ClassCastException:
org.eclipse.core.internal.resources.Project cannot be cast to org.eclipse.jdt.core.IJavaProject
कोई विचार क्यों? मैंने सोचा होगा कि एक बार आईप्रोजेक्ट में जावा प्रकृति होती है, इसे आईजेवाप्रोजेक्ट में डाला जा सकता है। इस समय मैं जेडीटी कोर एपीआई तक पहुंच नहीं प्राप्त कर सकता क्योंकि सेवा अनुपलब्ध here है।
हाँ यह एक प्रकार था;) – Joeblackdev