В настоящее время у меня проблемы с работой. Я на мгновение ударился головой и надеялся, что кто-то здесь сможет оказать некоторую помощь. Я хотел бы указать, что это мой первый вопрос здесь, поэтому я приношу свои извинения, если он может быть лучше отформатирован, пожалуйста, не стесняйтесь, дайте мне знать, если я что-то добавлю.Использование Jetty в качестве сервера приложений Java EE
Наше приложение работает довольно успешно с сервера TomEE в течение последних нескольких месяцев, но в последнее время некоторые более высокие взлеты в нашей компании говорят нам, что мы ДОЛЖНЫ использовать Jetty. К сожалению, попытка отговорить их от этого не будет вариантом, если мы не сможем доказать, что Jetty на самом деле невозможно для нас.
С тех пор я пытался настроить сервер Jetty, но я сосредоточен на использовании плагина maven-jetty. У нас был большой успех с плагином tomee-maven в прошлом, поэтому я надеялся, что это будет так же эффективно.
К сожалению, нам не повезло с этим подходом. Я понимаю, что Jetty не является сервером JavaEE, поэтому мы попытались добавить зависимости. Взгляните на наш подход:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.9.v20160517</version>
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0-6</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.2.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se-core</artifactId>
<version>1.1.33.Final</version>
</dependency>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-core</artifactId>
<version>4.7.4</version>
</dependency>
</dependencies>
</plugin>
К сожалению, все попытки связаться с нашей заявки на тот же URL, как мы использовали в TomEE дал нам 404. Обратите внимание, что наш Java-код не изменился вообще, поскольку пытается перенести к Jetty.
Я много сделал для Googling и придумал очень мало. This Вопрос SE был найден, но он был записан в дни Jetty 6. Мы используем Jetty 9, поэтому версия сервлета больше не проблема.
Итак, кто-нибудь здесь думает, что это можно сделать?
Дополнительная информация: Мы используем JavaEE 6, Мы ориентируемся на получение идентификаторов CDI и Bean, другие функции EE несущественны.
Это полностью выполнимо и, вероятно, не слишком сложно, но вы можете начать с проекта скелета. Вероятно, этого недостаточно, чтобы просто добавить зависимости maven. Просто привыкнуть к старту и самому разоблачить сервлет. Затем добавьте сварку и любые другие функции, которые вам нужны. Например, следуйте инструкциям в документах по сварке: http://www.eclipse.org/jetty/documentation/9.3.x/framework-weld.html –
Кроме того, возможно, это сработало. Причал запускается в другом порту по умолчанию, чем tomcat. –
Я также начал бы стоять с вашим приложением с распределением причала, позволяя при необходимости использовать модуль cdi и т. Д. Затем, как только вы вернетесь к плагину maven для разработки. Вы никогда не должны использовать какой-либо плагин maven для сценариев развертывания «production». –