Большинство проектов используют только один из Tomcat / Wildfly / Websphere / Other в качестве целей времени выполнения для своих военных или ушных проектов, поскольку они работают в тех же магазинах, но если вы используете Servlets /SOAP WS / REST WS аннотации для использования компонентов одинаковы для всех этих серверов приложений (или контейнера в случае Tomcat).
У меня есть 1 основной проект в Eclipse, который создает банку с 96% +кода (ORM + бизнес-правила) плюс два или три других для создания jar / ушей и поддержки развертываний Websphere / JBOSS / Tomcat с изменением только времени выполнения.
Даже подключения к базе данных делегируются источникам данных (JNDI), поэтому основные функции очень независимы от сервера приложений.
Я пытался использовать базовую библиотеку времени выполнения J2EE, но для этого требуется расположение файлов, а если вы загружаете JavaEE из oracle, он поставляется со glassfish.
Итак, как настроить базовую библиотеку времени выполнения J2EE в Eclipse для создания общей войны, которая будет работать на любомСервер приложений, который поддерживает технологию?рассмотрим JAX-WS в качестве примера.
Обновление Если вы немного скептически настроены,
- Я создал проект JAX-RS с Websphere в качестве цели
- Создание войны, оптимизированной для Вебсферы
- Развертывание ее на локальной Вебсфере
- Повторное развертывание на локальной Wildfly
- Проверил приложение на обоих серверах, и оно заработало Я также позаботился о том, чтобы никаких дополнительных банок, включенных в войну,
Так что я все еще считаю, что создание агностической войны должно быть выполнимым