Um projecto Java contém código fonte e ficheiros relacionados para a construção de um programa Java. Tem um construtor Java associado que pode compilar de forma incremental ficheiros origem Java, à medida que são alterados.
Um projecto Java também mantém um modelo do respectivo conteúdo. Este modelo inclui informações sobre a hierarquia de tipo, referências e declarações dos elementos Java. Estas informações são constantemente actualizadas à medida que o utilizador altera o código fonte Java. A actualização do modelo do projecto interno Java é independente do construtor Java; em particular, ao executar modificações de códigos, se a construção automática estiver desactivada, o modelo mesmo assim vai reflectir o conteúdo do projecto presente.
Pode organizar projectos Java de duas formas diferentes:
Construtor Java
Suporte de refactorização
Filtrar elementos