如何使用泽西测试框架1.18与灰熊2.3

时间:2014-04-25 12:07:33

标签: testing jersey noclassdeffounderror grizzly jersey-1.0

我有一个包含jersey-1.12和grizzly 2.3的工作设置的应用程序。

Jersey-test-framework-grizzly2版本1.12适用于grizzly 2.3

然而,当我尝试将所有与球衣相关的罐子更新为1.18时,我遇到了:

10:32:01     [junit] java.lang.NoClassDefFoundError: org/glassfish/grizzly/servlet/DispatcherType
10:32:01     [junit]    at com.sun.jersey.test.framework.spi.container.grizzly2.web.GrizzlyWebTestContainerFactory$GrizzlyWebTestContainer.grizzlyDispatcherTypes(GrizzlyWebTestContainerFactory.java:264)
10:32:01     [junit]    at com.sun.jersey.test.framework.spi.container.grizzly2.web.GrizzlyWebTestContainerFactory$GrizzlyWebTestContainer.instantiateGrizzlyWebServer(GrizzlyWebTestContainerFactory.java:248)
10:32:01     [junit]    at com.sun.jersey.test.framework.spi.container.grizzly2.web.GrizzlyWebTestContainerFactory$GrizzlyWebTestContainer.<init>(GrizzlyWebTestContainerFactory.java:145)
10:32:01     [junit]    at com.sun.jersey.test.framework.spi.container.grizzly2.web.GrizzlyWebTestContainerFactory$GrizzlyWebTestContainer.<init>(GrizzlyWebTestContainerFactory.java:102)
10:32:01     [junit]    at com.sun.jersey.test.framework.spi.container.grizzly2.web.GrizzlyWebTestContainerFactory.create(GrizzlyWebTestContainerFactory.java:95)
10:32:01     [junit]    at com.sun.jersey.test.framework.JerseyTest.getContainer(JerseyTest.java:347)
10:32:01     [junit]    at com.sun.jersey.test.framework.JerseyTest.<init>(JerseyTest.java:170)

显然是jersey-test-framework-grizzly2-1.18版本imports DispatcherType类,它只存在于grizzly 2.2.x中,因此无法与任何其他版本一起使用(因此后来的版本只兼容早期依赖)

我有什么选择? DispatcherType是否包含在grizzly 2.3+的其他地方?我可以使用较旧的(1.17似乎没有这个导入)版本的jersey-test-framework与更新的主罐子?我是否被迫将灰熊降级到2.2.x以升级球衣?

1 个答案:

答案 0 :(得分:0)

到目前为止,将灰熊降级到2.2.21工作正常。 我无法找到一种方法让jersey-1.18与grizzly 2.3一起使用