Projekt Java zawiera kod źródłowy i pliki pokrewne umożliwiające zbudowanie programu Java. Z projektem powiązany jest program budujący Java, który może przyrostowo kompilować pliki źródłowe Java w miarę ich modyfikowania.
Projekt Java przechowuje również model swojej zawartości. Model ten zawiera informacje dotyczące hierarchii typów, odwołań oraz deklaracji elementów Java. Informacje te są nieustannie aktualizowane w miarę modyfikowania przez użytkownika kodu źródłowego Java. Aktualizacja wewnętrznego modelu projektu Java przebiega niezależnie od programu budującego Java. Dotyczy to zwłaszcza sytuacji, w której kod jest modyfikowany przy wyłączonej funkcji automatycznego budowania - model będzie w dalszym ciągu aktualizowany w celu odzwierciedlenia bieżącej treści projektu.
Projekty Java można organizować na dwa różne sposoby:
Program budujący Java
Obsługa refaktoryzacji
Filtrowanie elementów