我正在尝试学习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 without Maven (手动JAR管理)和这种确切的配置,它可以很好地工作。
任何帮助表示赞赏!
答案 0 :(得分: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>