Et Enterprise Application-projekt indeholder det ressourcehierarki, der kræves for at distribuere en J2EE Enterprise Application, som ofte kaldes en EAR-fil.
Et Enterprise Application-projekt indeholder også et sæt referencer til andre J2EE-moduler og Java™-projekter, som er kombineret til at sammensætte en EAR-fil. Disse projekter kan være webmoduler, EJB-moduler, Application Client-moduler, connector-moduler, almindelige funktions-Java JAR-filer og EJB klient-JAR-filer. Enterprise Application-projekter, som er oprettet i arbejdsbænken, inkluderer en distributionsdeskriptor, samt filer, der er fælles for alle J2EE-moduler, som er defineret i distributionsdeskriptoren.
Når et J2EE-modulprojekt er oprettet, kan det knyttes til et Enterprise Application-projekt. Ved hjælp af projektguiderne kan du angive en ny eller et eksisterende Enterprise Application-projekt. Enterprise Application-projekter eksporteres som EAR-filer (enterprise archive), der inkluderer alle de filer, som er defineret i Enterprise Application-projektet samt den relevante arkivfil for hvert J2EE-modul eller funktions-Jar-projekt, der er defineret i distributionsdeskriptoren, f.eks. som WAR-filer (Web archive) og EJB JAR-filer.
En Enterprise Application kan indeholde funktions-JAR-filer, der skal bruges af de indeholdte moduler. Dette muliggør deling af kode på programniveau for flere web-, EJB- eller Application Client-moduler. Disse JAR-filer kaldes generelt for funktions-JAR-filer. De funktions-JAR-filer, der er defineret for et Enterprise Application-projekt, kan være JAR-filer i projektet, eller du kan inkludere funktions-Java-projekter, som skal blive til funktions-JAR-filer under samling og distribution.
Du starter udvikling af J2EE-programmer ved først at oprette et Enterprise Application-projekt, der skal indeholde dine web-, EJB- og Application Client-moduler. Enterprise Application-projektet bruges til at sammensætte et helt program fra de forskellige moduler. Da der ikke bygges nogen kildekode direkte ind i en Enterprise Application, er disse projekter ikke Java-projekter, og de kompileres ikke af Java-byggeprogrammet.