Последствия создания java-программы для jar-файлов одного веб-контейнера и ее развертывания в другом - PullRequest
1 голос
/ 25 июля 2011

Каковы последствия создания java-программы для jar-файлов одного веб-контейнера (скажем, Jetty) и запуска ее в другом (скажем, Tomcat)?

У меня есть приложение, которое я запускаю в Jetty во время разработки, но которое развернуто на сервере tomcat для производства (Почему? Потому что кажется, что его проще разрабатывать без необходимости запуска всего сервера tomcat.)

Ответы [ 3 ]

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

Вы должны использовать только официальные API Java EE для уровня, на который вы нацелены, для любых сборок, не связанных с разработчиком.Желательно с помощью сборки двигателя.Предпочтительно в другой операционной системе, чем вы разрабатываете.

Для веб-приложения это означает соответствующий API сервлета, загруженный из Oracle.Аналогично для корпоративного приложения.

По моему опыту, это лучший способ сохранить правильность.


Редактировать: Java EE SDK доступен с http://www.oracle.com/technetwork/java/javaee/downloads/index.html.нужна более старая версия, чем Java EE 6, затем перейдите по ссылке «Предыдущие выпуски».

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

вы обычно хотите разрабатывать там, где вы развертываете.Это может быть немного сложнее для разработки с tomcat vs jetty, но вы определили потенциальную путаницу проблемы с конфликтами jar, поэтому не стоит ли ее разрабатывать с tomcat, так как вы развертываете в tomcat?

Кроме того, как правило, боль в разработке против tomcat / вашего предпочтительного контейнера уменьшается за счет времени, необходимого для написания ant (или другой) задачи, которая развернет ваш код в вашем контейнере разработки.Рабочий цикл bemoes

1) Напишите новый код
2) убедитесь, что тесты пройдены
3) запустите ваш скрипт 'redeploy'
4) покопайтесь в работающем экземпляре

Вы, вероятно, хотите сделать это.

Наконец, в духе слабой связи, вы, вероятно, не хотите зависеть от библиотек, специфичных для контейнера, если вы можете избежать этого;делайте это только в крайнем случае.

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

Вы можете получить такие проблемы, как MethodNotFoundError.Обычно их можно решить, убедившись, что версии jar, установленные на серверах, совпадают.

...