Şu kodum varEclipse projesi IJavaProject'e gönderilemez
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 ...
}
Yapmaya çalıştığım şey aslında bir IJavaProject olarak belirli bir isimle eşleşen bir proje döndürmektir. Gördüğünüz gibi, söz konusu projenin bir java niteliğine sahip olduğundan emin olmak için aşağıdakileri kontrol ediyorum:
if (project.hasNature("org.eclipse.jdt.core.javanature")) {
Ne yazık ki, bir 'ClassCaseException' ifadesini
java.lang.ClassCastException:
org.eclipse.core.internal.resources.Project cannot be cast to org.eclipse.jdt.core.IJavaProject
olarak görüyorum. Bir IProject bir java niteliğine sahip olduğunda, bir IJavaProject'e dökülebilir. Servis mevcut olmadığında JDZ Core API'ye erişim sağlayamıyorum here.
Evet, bir tür;) – Joeblackdev