我正在浏览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或&#34; RELEASE&#34;,
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.8.Final</version>
</dependency>
然后我无法通过上述网址访问它。相反,我在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工作?我是Rest的新手。
提前致谢。
答案 0 :(得分:1)
作为documentation describes,您可以通过添加此依赖项来在独立的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>
最后要做的是通过将javax.ws.rs.ApplicationPath
添加到MessageApplication类来告诉RESTeasy要映射应用程序的路径:
@ApplicationPath("/rest")
public class MessageApplication extends Application {
...
}