Errai 4 работает на Tomcat
Я пытаюсь запустить Errai 4.0.0.Beta1 в Tomcat, и мне было интересно, кто-нибудь делал это раньше? В частности, я пытаюсь определить, какие зависимости я могу удалить из Errai (т. Е. Wildfly), и любые дополнительные шаги, необходимые для запуска приложения Errai на Tomcat.
Когда я запустлю это, я обновлю этот пост.
Заранее спасибо.
2 ответа
Чтобы показать, как запустить проект Errai 4 Maven на сервере Tomcat, я создал проект на GitHub под названием https://github.com/stbland/errai-tutorial-tomcat.
Предпосылки
Ваше веб-приложение Errai должно быть установлено в вашем локальном репозитории Maven (mvn install)
Создайте новый проект Maven (упаковка для войны) и импортируйте ваше предыдущее веб-приложение
например: errai-tutorial ( https://github.com/errai/errai-tutorial)
<dependency>
<groupId>org.jboss.errai.demo</groupId>
<artifactId>errai-tutorial</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>war</type>
</dependency>
Добавьте отсутствующие зависимости Tomcat
Ядро сварного сервлета ( https://docs.jboss.org/weld/reference/2.3.4.Final/en-US/html/environments.html)
<dependency> <groupId>org.jboss.weld.servlet</groupId> <artifactId>weld-servlet-core</artifactId> <version>2.3.4.Final</version> </dependency>
Внедрение Servlet 2.x на основе JAX-RS на Джерси
<dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId> <version>2.23.1</version> </dependency>
Определение гибернации API Java Persistence 2.0 (JSR 317).
<dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency>
Добавить слушателя Weld Servlet в файл Web.xml
<listener>
<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>
Добавить ссылку BeanManager в файл Web.xml
<resource-env-ref>
<resource-env-ref-name>BeanManager</resource-env-ref-name>
<resource-env-ref-type>javax.enterprise.inject.spi.BeanManager </resource-env-ref-type>
</resource-env-ref>
Добавьте основной сервлет Jersey JAX-RS в файл Web.xml
<servlet>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<load-on-startup>2</load-on-startup>
</servlet>
Добавить файл context.xml в каталог META-INF
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource name="BeanManager"
auth="Container"
type="javax.enterprise.inject.spi.BeanManager"
factory="org.jboss.weld.resources.ManagerObjectFactory"/>
</Context>
Чтобы показать, как запустить проект Errai 4 (4.1.3.Final) Maven на сервере Tomcat (7.x или 8.x), я создал новый проект на GitHub под названием test-errai4-tomcat.
На данный момент он отображает простую форму, которая может:
- отправить сообщение на сервер с помощью Errai Client Bus.
- вызов службы REST с помощью Errai JAX-RS