GrizzlyHttpServerFactory.createHttpServer:无法执行操作:在org.glassfish.jersey.server.wadl.processor.WadlModelProcessor上创建

时间:2017-08-28 16:11:19

标签: java maven glassfish

问题

当我尝试使用GrizzlyHttpServerFactory.createHttpServer时,我会收到“WARNING: Unknown HK2 failure detected:”,然后在“MultiException”中出现两个错误:

  • java.lang.NoSuchFieldError: WADL
  • Unable to perform operation: create on org.glassfish.jersey.server.wadl.processor.WadlModelProcessor

我试过

我对泽西岛不了解,但我有:

深入

我正在使用ResourceConfig:

public class MyResourceConfig extends ResourceConfig {

    public MyResourceConfig(){
        register(CORSResponseFilter.class);

        register(MyAPIPoint.class);
    }
}

包含两个正在注册的类,没有别的。

截断错误堆栈跟踪:

WARNING: The following warnings have been detected: WARNING: Unknown HK2 failure detected:
MultiException stack 1 of 2
java.lang.NoSuchFieldError: WADL
    at org.glassfish.jersey.server.wadl.processor.WadlModelProcessor.<init>(WadlModelProcessor.java:96)
    ...
    at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init>(GrizzlyHttpContainer.java:331)
    at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory.createHttpServer(GrizzlyHttpServerFactory.java:116)
MultiException stack 2 of 2
java.lang.IllegalStateException: Unable to perform operation: create on org.glassfish.jersey.server.wadl.processor.WadlModelProcessor
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:395)
    ...
    at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.<init>(GrizzlyHttpContainer.java:331)
    at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory.createHttpServer(GrizzlyHttpServerFactory.java:116)

1 个答案:

答案 0 :(得分:1)

It's OK to Ask and Answer Your Own Questions

在阅读this questionthis issue thread之后,似乎我的依赖项可能存在冲突。

相关依赖项:我正在使用 jersey 2.11 tyrus-container-grizzly-server 1.13

修改 将球衣版本更新为pom中的 2.25 ,错误消失。

如果有人想尝试提供更好的解决方案或解释,我可以提供有关项目设置的更多信息。我不接受这个答案,因为它不完整。