Чтобы показать, как запустить проект Errai 4 Maven на сервере Tomcat, я создал проект на GitHub под названием 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
Ядро сервлета Weld ( https://docs.jboss.org/weld/reference/2.3.4.Final/en-US/html/environments.html#weld-servlet)
<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>
person
Stéphane B.
schedule
22.06.2016