Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到CORS筛选器-jersey_Java_Jersey - Fatal编程技术网

Java 找不到CORS筛选器-jersey

Java 找不到CORS筛选器-jersey,java,jersey,Java,Jersey,我已经为这个问题挣扎了很长时间了。它突然开始了,我不知道如何修复它,也不知道我做错了什么。我已经忙了很长一段时间了,哪儿也没去。我试过了,还有很多其他的链接。 当这个开发环境建立起来的时候,我并没有在这里工作,以前从来没有真正使用过jersey 谁能告诉我为什么我会得到: Fev 28, 2014 4:55:00 PM com.sun.jersey.core.spi.component.ProviderServices getInstances SEVERE: The class <my_

我已经为这个问题挣扎了很长时间了。它突然开始了,我不知道如何修复它,也不知道我做错了什么。我已经忙了很长一段时间了,哪儿也没去。我试过了,还有很多其他的链接。 当这个开发环境建立起来的时候,我并没有在这里工作,以前从来没有真正使用过jersey

谁能告诉我为什么我会得到:

Fev 28, 2014 4:55:00 PM com.sun.jersey.core.spi.component.ProviderServices getInstances
SEVERE: The class <my_package>.jersey.ResponseCorsFilter could not be found. This class is ignored.
Fev 28, 2014 4:55:00 PM com.sun.jersey.server.impl.application.RootResourceUriRules <init>
SEVERE: The ResourceConfig instance does not contain any root resource classes.
Fev 28, 2014 4:55:00 PM org.apache.catalina.core.ApplicationContext log
SEVERE: StandardWrapper.Throwable
com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
    at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1331)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:168)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:774)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:770)
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:770)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:765)
    at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:489)
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:319)
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
    at javax.servlet.GenericServlet.init(GenericServlet.java:160)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
这是一个控制器。我用
http://localhost:8081/CSI/rest/chart/pa/01012013/01012014/getPA

@Path("chart/pa")
public class PAController {

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/{firstParam}/{secondParam}/getPA")
public Response GetPA(@PathParam("firstParam") String p1,
            @PathParam("firstParam") String p2) throws Exception {

...

我遗漏了什么吗?

解决了问题,忘了发布答案

我正在从另一个开发人员导入WAR文件。起初,它运行良好。但是,突然之间,它停止了。我意识到我丢失了构建路径上的Jersey文件。因为它工作了一段时间,我从没想过它会开始这样的行为

我使用的是Eclipse,所以非常简单:

项目资源管理器->右键单击项目->生成路径->配置生成路径

然后:

添加外部罐子

就这么简单

public class ResponseCorsFilter implements ContainerResponseFilter {

@Override
public ContainerResponse filter(ContainerRequest req, ContainerResponse contResp) {
    ResponseBuilder resp = Response.fromResponse(contResp.getResponse());
    resp.header("Access-Control-Allow-Origin", "*")
            .header("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, HEAD");

    String reqHead = req.getHeaderValue("Access-Control-Request-Headers");

    if(null != reqHead && !reqHead.equals("")){
        resp.header("Access-Control-Allow-Headers", reqHead);
    }

    contResp.setResponse(resp.build());

    return contResp;
}

}
@Path("chart/pa")
public class PAController {

@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("/{firstParam}/{secondParam}/getPA")
public Response GetPA(@PathParam("firstParam") String p1,
            @PathParam("firstParam") String p2) throws Exception {

...