Je le code suivantne peut pas lancer projet Eclipse pour 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 ...
}
Ce que je suis en train de faire est de revenir essentiellement un projet qui correspond à un nom particulier comme IJavaProject. Comme vous pouvez le voir, je vérifier que le projet en question a un caractère java en appelant:
if (project.hasNature("org.eclipse.jdt.core.javanature")) {
Hélas, je reçois un « ClassCaseException » indiquant
java.lang.ClassCastException:
org.eclipse.core.internal.resources.Project cannot be cast to org.eclipse.jdt.core.IJavaProject
Toute idée pourquoi? J'aurais pensé qu'une fois qu'un IProject a une nature java, il peut être casté en IJavaProject. Je ne peux pas accéder à l'API JDT Core pour le moment car le service n'est pas disponible here.
Oui c'était un type;) – Joeblackdev