Errai 4在Tomcat上运行

时间:2016-05-09 18:58:56

标签: tomcat errai gwt-2.8 errai-4

我试图在Tomcat中运行Errai 4.0.0.Beta1,我想知道是否有人之前已经这样做了?具体来说,我正在尝试确定我可以从Errai中删除哪些依赖项(即Wildfly),以及在Tomcat上运行Errai应用程序所需的任何其他步骤。

当我开始运行时,我会更新这篇文章。

提前致谢。

2 个答案:

答案 0 :(得分:3)

为了展示如何在 Tomcat 服务器上运行 Errai 4 Maven项目,我在GitHub上创建了一个名为errai-tutorial-tomcat的项目。

<强>先决条件

您的Errai webapp必须安装在您当地的Maven存储库(mvn install)

创建一个新的Maven项目(war包装)并导入以前的webapp

例如: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. Weld Servlet Core(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>        
    
  2. Jersey JAX-RS核心Servlet 2.x实现

    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <version>2.23.1</version>
    </dependency>
    
  3. Java Persistence 2.0(JSR 317)API的Hibernate定义。

    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.1.Final</version>
    </dependency>
    
  4. 在Web.xml文件中添加Weld Servlet侦听器

    <listener>
      <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
    </listener>
    

    在Web.xml文件中添加BeanManager引用

    <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>
    

    在Web.xml文件中添加Jersey JAX-RS核心Servlet

    <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>
    

    在META-INF目录中添加context.xml文件

    <?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>
    

答案 1 :(得分:1)

为了展示如何在 Tomcat 服务器(7.x或8.x)上运行 Errai 4 (4.1.3.Final)Maven项目,我创建了另一个在GitHub上从头开始调用test-errai4-tomcat

现在,它显示一个简单的表单,可以:

  • 使用Errai客户端总线向服务器发送消息。
  • 使用Errai JAX-RS调用REST服务