Tengo el siguiente códigono puede lanzar el proyecto Eclipse para 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 ...
}
Lo que estoy tratando de hacer es volver esencialmente un proyecto que coincide con un nombre particular como un IJavaProject. Como se puede ver, puedo comprobar para asegurarse de que el proyecto en cuestión tiene un carácter java llamando:
if (project.hasNature("org.eclipse.jdt.core.javanature")) {
Ay, me sale un 'ClassCaseException' indicando
java.lang.ClassCastException:
org.eclipse.core.internal.resources.Project cannot be cast to org.eclipse.jdt.core.IJavaProject
Cualquier idea de por qué? Hubiera pensado que una vez que un IProject tiene una naturaleza java, se puede convertir en un IJavaProject. No puedo acceder a la API principal de JDT en este momento ya que el servicio no está disponible here.
Sí, era un tipo;) – Joeblackdev