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

  1. Ядро сварного сервлета ( 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>        
    
  2. Внедрение Servlet 2.x на основе JAX-RS на Джерси

    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <version>2.23.1</version>
    </dependency>
    
  3. Определение гибернации 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
Другие вопросы по тегам