Как правильно упаковать корпоративное приложение? - PullRequest
3 голосов
/ 14 июля 2011

Предположим, ваше приложение состоит только из одного файла войны. Насколько я понимаю, любую стороннюю библиотеку, которая мне нужна, и я могу предоставить, я включу в свою войну в WEB-INF / lib.

Сегодня я столкнулся с кем-то, кто рассказал мне некоторые подробности о JBoss 7 и их концепции модулей, предложив, чтобы приложение не доставляло какую-либо стороннюю библиотеку ... а скорее запрашивало библиотеку в правильной версии с сервера приложений.

Я - еще один тип парня, которому нравится доставлять полный пакет, без каких-либо зависимостей, которые должен гарантировать другой пользователь, они заполнены. Теперь, короткая история .... есть ли ответ "Стандарт Java EE", как справиться со сторонними библиотеками в корпоративных приложениях? '

Ответы [ 2 ]

2 голосов
/ 14 июля 2011

В Учебное пособие по Java EE 6 :

Корень документа содержит подкаталог с именем WEB-INF, который может содержать следующие файлы и каталоги:

classes: каталог, содержащий серверные классы: сервлеты, файлы классов корпоративных компонентов, служебные классы и компоненты JavaBeans

теги: каталог, содержащий файлы тегов, которые являются реализациями библиотек тегов

lib: каталог, содержащий JAR-файлы, содержащие корпоративные компоненты, и JAR-архивы библиотек, вызываемых классами на стороне сервера

дескрипторы развертывания, такие как web.xml (дескриптор развертывания веб-приложения) и ejb-jar.xml (дескриптор развертывания EJB)

Так что / WEB-INF / lib правильно.

0 голосов
/ 14 июля 2011

«Стандартный» ответ зависит от того, поддерживает ли ваш сервер приложений Java EE стандарт OSGi или JSR-277 .

JBOSS версии 7 поддерживаетOSGi;более ранние версии могут этого не делать.

Так что это действительно два ответа: один для серверов до OSGi («поместите JAR-файлы в WEB-INF / lib для вашего приложения или на сервер / lib») и после OSGi («используйтеOSGi ").

...