Нет, это не так.EJB должны быть упакованы в JAR (так называемый EJB-JAR ), а затем собраны в EAR (который включает в себя EJB-JAR, WAR (s) и RAR (s)). Упаковка приложений EJB 3 - очень хорошая статья (от авторов EJB 3 в действии ) на эту тему, посвященная загрузке классов, упаковке и развертыванию модулей Java EE.Настоятельно рекомендуется.
Начиная с Java EE 6, можно развертывать EJB как часть WAR (либо помещать EJB-JAR в WEB-INF/lib
, либо классы непосредственно в WEB-INF/classes
).Обратите внимание, что все классы затем загружаются с одним и тем же загрузчиком классов в этом сценарии (в отличие от упаковки EAR).Если у вас нет сильных потребностей в модульности (что имеет место в большинстве приложений), это очень интересно, потому что проще.Конечно, упаковка EAR все еще доступна для тех, у кого более продвинутые требования к модульности.