Escribo un plugin de Eclipse, y estaba tratando de crear un método que devuelva todas las clases en el espacio de trabajo en un ArrayList < \ Class < \? >> (Agregué el " \ "para incluir los corchetes genéricos ya que html no me permitirá hacerlo de lo contrario).Obteniendo todas las clases del área de trabajo actual en Eclipse
Aquí está el código que tengo:
private ArrayList<Class<?>> getAllClasses() throws JavaModelException {
ArrayList<Class<?>> classList = new ArrayList<Class<?>>();
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot root = workspace.getRoot();
IProject[] projects = root.getProjects();
for (IProject project : projects) {
IJavaProject javaProject = JavaCore.create(project);
IPackageFragment[] packages = javaProject.getPackageFragments();
for (IPackageFragment myPackage : packages) {
IClassFile[] classes = myPackage.getClassFiles();
for (IClassFile myClass : classes) {
classList.add(myClass.getClass());
}
}
}
return classList;
}
Esto, sin embargo, no parece estar funcionando. Tuve algunas líneas impresas, y me di cuenta de que también incluye clases irrelevantes (es decir, clases de Java \ jre6 \ lib \ rt.jar). ¿Alguna sugerencia?
Por favor refiérase a http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_int_model.htm Aquí se puede encontrar una descripción bastante buena del Modelo JDT. – GeT