【问题标题】:Setup GAE project with Resteasy using Maven in Eclipse在 Eclipse 中使用 Maven 使用 Resteasy 设置 GAE 项目
【发布时间】:2013-09-30 06:51:23
【问题描述】:

我正在尝试学习 Maven,为此我想在 Eclipse 4.3 中创建一个以 GAE(最新版本:1.8.4)为目标的项目,并使用 Maven 进行构建/依赖管理。我想包括 Resteasy 和 CDI,但目前我对 Resteasy 有问题。

我做了什么:

  • 按照this guide(不包括 Jersey 部分)设置 Maven/Eclipse/GAE 项目。我不得不将 Java 源和目标配置更改为 1.7,它运行良好。

  • 包括 Resteasy:

    • 添加了以下依赖项:

      <dependency>
          <groupId>org.jboss.resteasy</groupId>
          <artifactId>resteasy-jaxrs</artifactId>
          <version>2.3.7.Final</version>
      </dependency>
      <dependency>
          <groupId>org.jboss.resteasy</groupId>
          <artifactId>resteasy-jaxb-provider</artifactId>
          <version>2.3.7.Final</version>
      </dependency>
      <dependency>
          <groupId>org.codehaus.jackson</groupId>
          <artifactId>jackson-jaxrs</artifactId>
          <version>1.9.13</version>
      </dependency>
      <dependency>
          <groupId>org.jboss.resteasy</groupId>
          <artifactId>resteasy-jackson-provider</artifactId>
          <version>2.3.7.Final</version>
      </dependency>
      
    • 已实现javax.ws.rs.core.Application

    • 以及web.xml中的如下配置:

      <servlet>
          <servlet-name>Resteasy</servlet-name>
          <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
          <init-param>
              <param-name>javax.ws.rs.Application</param-name>
              <param-value>npara.expenses.server.JaxRsApplication</param-value>
          </init-param>
      </servlet>
      <servlet-mapping>
          <servlet-name>Resteasy</servlet-name>
          <url-pattern>/api/*</url-pattern>
      </servlet-mapping>
      

在运行项目时,使用 Maven 创建的启动配置,我得到以下异常:

java.lang.ClassNotFoundException:
    org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher

HttpServletDispatcher 位于 resteasy-jaxrs-2.3.7.Final.jar 中,正确放置在 WEB-INF/lib 中。我已经使用 GAE、Resteasy、CDI 创建了一个类似的项目,没有 Maven(手动 JAR 管理)和这个精确的配置,它运行良好。

任何帮助表示赞赏!

【问题讨论】:

    标签: google-app-engine maven resteasy


    【解决方案1】:

    尝试使用Jersey,它更容易使用。

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.9.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.9.1</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 2016-02-16
      • 1970-01-01
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 2013-03-26
      • 1970-01-01
      相关资源
      最近更新 更多