1

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

我做了什么:

  • 按照本指南(不包括 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

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

任何帮助表示赞赏!

4

1 回答 1

0

尝试使用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>
于 2013-12-11T19:01:38.050 回答