Restful站点在将restasy -jaxrs升级到最新版本后崩溃



我将通过这个关于RestEasy的教程示例:

http://www.mkyong.com/webservices/jax-rs/resteasy-hello-world-example/

我下载了他们的代码并做了修改,以便我可以将其部署到tomcat 7和java 1.7。

如果我保留站点指定的pom.xml,

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>2.2.1.GA</version>
    </dependency>

,那么一切似乎都很好,可以通过:

访问
    http://localhost:8080/RESTfulExample/rest/message/hello

但是,如果我要将版本级别提高到3.0.8。Final或"RELEASE",

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>3.0.8.Final</version>
    </dependency>

那么我不能通过上面的URL访问它。相反,我在localhost_access_log.txt

中得到这个消息
127.0.0.1 - - [19/Aug/2014:16:02:55 -0700] "GET /RESTfulExample/rest/message/hello HTTP/1.1" 404 -

问题:如果我真的想使用RESTeasy 3.0.8.Final,有人知道我如何才能让pom.xml工作吗?我是新来的。

正如文档所描述的那样,您可以通过添加以下依赖项来在独立的Servlet 3.0兼容容器中初始化RESTeasy:

<dependency>
  <groupId>org.jboss.resteasy</groupId>
  <artifactId>resteasy-servlet-initializer</artifactId>
  <version>3.0.8.Final</version>
</dependency>

你还应该用正确的Servlet版本更新web.xml。大多数旧的配置文件都可以删除,所以你最终得到:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
      version="3.0"> 
    <display-name>Restful Web Application</display-name>
</web-app>

要做的最后一件事是告诉RESTeasy您希望通过将javax.ws.rs.ApplicationPath添加到MessageApplication类来映射应用程序的路径:

@ApplicationPath("/rest")
public class MessageApplication extends Application { 
    ...
}

相关内容

最新更新