Un progetto Java contiene il codice di origine e i file correlati per la creazione di un programma Java. Dispone di un generatore Java associato in grado di compilare in modo incrementale i file di origine Java man mano che questi vengono modificati.
Un progetto Java gestisce inoltre un modello del proprio contenuto. Questo modello include informazioni relative alla gerarchia dei tipi, ai riferimenti e alle dichiarazioni degli elementi Java. Tali informazioni vengono costantemente aggiornate quando l'utente modifica il codice origine Java. L'aggiornamento del modello del progetto Java interno è indipendente dal generatore Java, in particolare, quando si eseguono modifiche al codice, se la generazione automatica è disattivata, il modello riflette ancora il contenuto del progetto.
È possibile organizzare i progetti Java in due modi diversi:
Generatore Java
Supporto refactoring
Filtro di elementi