Проект приложения J2EE содержит иерархию ресурсов, необходимых для развертывания приложения J2EE, зачастую называемого файлом EAR.
Проект приложения J2EE также содержит набор ссылок на модули J2EE и проекты Java™, комбинируемые для составления файла EAR. Этими проектами могут быть Web-модули, модули EJB, модули приложений-клиентов, модули коннекторов, файлы JAR общих утилит Java и файлы JAR клиентов EJB. Проекты приложений J2EE, созданные в рабочей среде, содержат файлы описания, а также файлы, общие для всех модулей J2EE, заданных в файле описания.
При создании проекта модуля J2EE он может быть связан с проектом приложения J2EE. Для облегчения этой задачи используется мастер проекта, позволяющий указать новый или существующий проект приложения J2EE. Проекты приложений J2EE экспортируются в виде файлов EAR (enterprise archive), содержащих все файлы, заданные в проекте приложения J2EE, а также соответствующие архивные файлы для каждого модуля J2EE или проекта JAR утилиты, заданных в файле описания, таком как файл Web-архива (WAR) или файле JAR EJB.
Приложение J2EE может содержать файлы JAR утилиты, которые будут использованы содержащими их модулями. Это делает возможным совместное использование кода на уровне приложений несколькими модулями Web, EJB или приложений-клиентов. Эти файлы JAR зачастую упоминаются как файлы JAR утилит. Файлы JAR утилит, заданные для проекта приложения J2EE, могут являются фактическими файлами JAR проекта или вы можете добавить проекты утилит Java, предназначенные для преобразования в файлы JAR утилит при сборке или развертывании.
Для начала разработки приложений J2EE обычно вначале создается проект приложения J2EE, для хранения модулей Web, EJB или приложения-клиента. Проект приложения J2EE используется для составления всего приложения из различных модулей. Так как исходный код не встраивается непосредственно в приложение J2EE, эти проекты не являются проектами Java и не компонуются компилятором Java.