am scrivendo un plug-in Eclipse e stavo cercando di creare un metodo che restituisca tutte le classi nello spazio di lavoro in ArrayList < \ Class < \? >> (Ho aggiunto il " \ "per includere le parentesi generiche dato che html non me lo consentirà altrimenti).Come ottenere tutte le classi dallo spazio di lavoro corrente in Eclipse
Ecco il codice che ho:
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;
}
Questo, tuttavia, non sembra funzionare. Avevo alcune linee di stampa, e ho capito che include anche classi irrilevanti (per esempio classi da Java \ jre6 \ lib \ rt.jar). Eventuali suggerimenti?
si prega di fare riferimento al http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_int_model.htm Qui è possibile trovare un buona descrizione del modello JDT. – GeT