Come posso caricare un file .java in una CompilationUnit? Ad esempio, diciamo che ho un file A.java nel mio progetto corrente. Vorrei caricarlo in una CompilationUnit e poi passarlo a ASTParser. Non è un'opzione solo caricarlo come un testo normale poiché sembra che in tal caso non otterrò le informazioni di binding nell'AST.Eclipse crea CompilationUnit dal file .java
5
A
risposta
9
È possibile caricare i progetti utilizzando le librerie jdt
e eclipse core
.
Utilizzando il seguente codice è possibile caricare tutti i progetti nell'area di lavoro.
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot root = workspace.getRoot();
// Get all projects in the workspace
IProject[] projects = root.getProjects();
Quindi è possibile ottenere pacchetti e, a sua volta, i file java.
IPackageFragment[] packages = JavaCore.create(project).getPackageFragments();
IPackageFragment mypackage = packages.get(0); // implement your own logic to select package
ICompilationUnit unit = mypackage.getCompilationUnits();
Quindi è possibile utilizzare questo oggetto ICompilationUnit per ottenere il CompilationUnit
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(unit);
parser.setResolveBindings(true);
CompilationUnit cUnit = parser.createAST(null);
Questo oggetto CompilationUnit può essere trasmessa al ASTParser.
Problemi correlati
- 1. Plugin di Eclipse: crea un nuovo file
- 2. Crea file Excel in Java
- 3. Crea il servizio Windows dal file eseguibile
- 4. Crea percorso file virtuale dal flusso
- 5. Crea un bitmap/disegnabile dal percorso file
- 6. Duplicato .java file in Eclipse
- 7. Pulisci e crea un progetto java Eclipse con un clic
- 8. Crea modello progetto personalizzato in IDE Eclipse
- 9. Java FileOutputStream Crea file se non esiste
- 10. Java util zip crea file zip "corrotti"
- 11. file jaxb.properties dal pacchetto java non incluso in Maven .war
- 12. Crea StringBuilder dal byte []
- 13. crea AudioClip dal byte []
- 14. Crea progetto Eclipse da Android Git
- 15. Java - Come compilare un singolo file con Java Eclipse
- 16. Perché eclipse crea una directory .settings?
- 17. Linux: Crea automaticamente C++ makefile dal dato file sorgente
- 18. WPF - crea il modello ProgressBar dal file PSD
- 19. Crea oggetto View dal file XML in Android
- 20. crea il file di dump dal database in mysql
- 21. Come recuperare il file Java dal progetto Eclipse che ha danneggiato lo spegnimento?
- 22. Ottieni l'output dal file BAT utilizzando Java
- 23. Scarica la versione java dal file batch
- 24. Risorsa online per generare una classe Java dal file XML
- 25. Java - Eclipse: Externalize Strings?
- 26. Indentazione di file di origine Java utilizzando Eclipse
- 27. Genera un'interfaccia dal file di classe solido in Eclipse
- 28. Debug Java di Eclipse con file sorgente mancanti
- 29. Eclipse Java Compiler Avvisi come attività ant.
- 30. Eclipse crea TUTTE le classi per ogni salvataggio
Funzionerà solo per i progetti Eclipse? Io, non funzionerà per i progetti Java? – bellpeace
Non è possibile utilizzare JDT nei progetti java con file jar. Per utilizzare JDT, è necessario che il programma sia in esecuzione come plug-in (o almeno, un'applicazione abilitata per OSGi). –
Ok, quindi posso caricare il file .java su CompilationUnit con questo approccio solo per i progetti di Eclipse. Per vostra informazione, è possibile utilizzare JDT al di fuori dei progetti di eclipse usando setSource (char []) e setEnvironment. (dalla versione 3.6) – bellpeace