Tomcat 8和Jersey 2.7返回404错误

时间:2014-05-04 10:34:29

标签: java tomcat jersey-2.0

我已经尝试了很多建议,但似乎没有一个对我有用。在tomcat上部署我的jersey应用程序时,不会发生错误。但是当访问任何指定的路径时,它给了我404资源不可用。 我将为您提供文件的相关部分:

的web.xml

<web-app>
<servlet>
  <servlet-name>o2r</servlet-name>
  <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  <init-param>
     <param-name>
    jersey.config.server.provider.packages
 </param-name>
     <param-value>com.mypackage.project.MyClass</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>o2r</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

<session-config>
  <session-timeout>30</session-timeout>
</session-config>
</web-app>

MyClass.java

package com.mypackage.project;
... //imports etc
@Path("control")
public class MyClass
{
    @GET
    @Path("{param}")
    public Response getMsg(@PathParam("param") String msg) 
    //this part is from some mykong tutorial
    {
    String output = "Jersey say : " + msg;
    return Response.status(200).entity(output).build();
    }
}

的pom.xml

...
<dependency>
    <groupId>org.glassfish.jersey.containers</groupId>
    <artifactId>jersey-container-servlet</artifactId>
    <version>2.7</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-catalina</artifactId>
    <version>7.0.16</version>
</dependency>
...

尝试访问时

http://localhost:8080/MyClass/control/lala 

(应该返回&#34; Jersey说:lala&#34;)它只给了我404。 注意:MyClass是我的.WAR文件的正确名称。

1 个答案:

答案 0 :(得分:1)

试试这个

com.mypackage.project代替com.mypackage.project.MyClass