WAR против EAR для веб-приложения без EJB? - PullRequest
6 голосов
/ 27 сентября 2010

У меня есть веб-приложение Java EE, которое не использует EJB.Я нацеливаюсь на Jetty / Tomcat для развертывания, и поэтому мне нужна упаковка WAR.Тем не менее, я также иногда нацеливаюсь на JBoss и Websphere.

Насколько я понимаю, полноценные серверы приложений Java EE могут принимать форматы EAR или WAR.Когда бы я использовал один поверх другого и почему?Я понимаю, что они оба являются стандартными форматами сжатых файлов, и я прочитал 10 различных фрагментов, которые пытаются их объяснить (, включая этот ), но я не ближе к пониманию плюсов и минусов каждого.

Ответы [ 3 ]

5 голосов
/ 27 сентября 2010

Если у вас есть только веб-модули - используйте файл WAR. Если у вас разные модули Java EE - используйте EAR. Хотя в EAR вы можете поставлять только веб-модули - в этом нет никакого смысла (и вам нужно будет выполнить более сложную настройку развертывания)

0 голосов
/ 01 июня 2016

В приложении J2EE модули упакованы как EAR, JAR и WAR в зависимости от их функциональности

Если вы используете только сервлет, JSP,GIF и HTML файлы.Затем используйте .WAR

 WAR:(Web ARchive) Web modules which contain Servlet class files, JSP
 Files, supporting files, GIF and HTML files are packaged as JAR file
 with .war (web archive) extension.

Если вы используете разные модули JAVA EE, такие как (файлы EJB + сервлет, JSP, GIF и HTML + другая технология).Затем используйте .EAR

EAR: (Enterprise ARchive) All above files (.jar and .war) are packaged
as JAR file with .ear (enterprise archive) extension and deployed into
Application Server.
0 голосов
/ 27 сентября 2010

Важным моментом является то, что вам нужно что-либо, предоставленное в файле EAR (который может содержать указанный файл WAR).Если это так, то имеет смысл развернуть как EAR.

Он также может подключить некоторые настройки, которые вам нужно выполнить вручную в Tomcat и т. Д. Типичным примером является URL-адрес, связанный с веб-приложением, где вам нужно переопределить эвристику по умолчанию с помощью файла конфигурации, специфичного для контейнерадля WAR, но вы можете поместить его непосредственно в файл конфигурации EAR.

Кроме того, во время разработки часто можно развернуть WAR-файлы непосредственно в разобранном виде, где EAR-файлы должны быть распакованы и развернуты.Для Glassfish от Eclipse разница довольно заметна.

...