javax.ws.rs.NotFoundException : Could not find resource for full path: with RESTEasy, Eclipse Luna 和 Tomcat 7

标签 java eclipse rest maven resteasy

RESTEasy 3.0.9.Final eclipse 月神 Tomcat 7.0.59

我和所有其他在这里问过同样问题的人有同样的问题。我尝试了这些解决方案,但到目前为止没有一个对我有用。 当我输入 url 以访问 web 服务时,出现此错误。 这是我的服务

服务.java

    package com.jjproj.hibernate.service;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import com.jjproj.hibernate.model.Employee1;
import com.jjproj.hibernate.model.EmployeeDao;



@Path("service")
public class Service {

    private EmployeeDao dao = new EmployeeDao();




    //GET Method to return JSON format of an employee
    @GET
    @Path("/getEmployees")
    @Produces(MediaType.APPLICATION_XML)
    public List<Employee1> getEmployees()
    {

        System.out.println("You made it in");
        return dao.getEmployees();
    }

}

这是我的包装

RESTWrapper.java

package com.jjproj.hibernate.service;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;


@ApplicationPath("service")
public class RESTWrapper extends Application {

}

我使用的路径是http://localhost:8080/HibEx1/service/getEmployees

除了 displayname 标签外,我的 web.xml 中没有任何内容。 这是一个maven项目

[http-bio-8080-exec-3] ERROR org.jboss.resteasy.core.ExceptionHandler - failed to execute
javax.ws.rs.NotFoundException: Could not find resource for full path: http://localhost:8080/HibEx1/service/getEmployees
    at org.jboss.resteasy.core.registry.ClassNode.match(ClassNode.java:73)
    at org.jboss.resteasy.core.registry.RootClassNode.match(RootClassNode.java:48)
    at org.jboss.resteasy.core.ResourceMethodRegistry.getResourceInvoker(ResourceMethodRegistry.java:444)
    at org.jboss.resteasy.core.SynchronousDispatcher.getInvoker(SynchronousDispatcher.java:234)
    at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:171)
    at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
    at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

最佳答案

您正在使用 service 作为应用程序的 @ApplicationPath 和 ResourceClass 的 @Path。所以你需要调用http://localhost:8080/HibEx1/service/service/getEmployees或更改其中一个路径。

关于javax.ws.rs.NotFoundException : Could not find resource for full path: with RESTEasy, Eclipse Luna 和 Tomcat 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29287810/

相关文章:

java - iText 字体设置为短语未反射(reflect)

java - "Class.forName()"和 "Class.forName().newInstance()"有什么区别?

java - android 在数据库中添加或删除时间戳中的小时

c# - WebClient.DownloadString() + REST + HTTPS + Win2003 = 挂线程

linux - Linux 上的 Loopback REST API 过滤器是否不区分大小写?

spring - Spring 启动。在一个应用程序中为@Ccontroller和@RestController处理不同的错误

java - 在\\G 和 ^ 之间的正则表达式差异

eclipse - 从外部 jar 到 maven 的项目转换失败

java - 用于处理 protobuf 的 Eclipse 插件

eclipse - 使用 Jenkins/Hudson 的集成管理器 Git 工作流