我只是想将来自 Jersey 的 Viewable 添加到我的 NetBeansProject 中。这是一个恐怖...
第一种方法:
我的 Web 应用程序使用了Glassfish 4.0
所以我虽然只是从 NetBeans 方便的选项“添加库”添加 Jersey,但我发现 Jersey 1.13 希望这会给我的类路径中的 Viewable。好吧,可视化就在那里!
com.sun.jersey.api.view.Viewable from jersey-server.jar
但是在服务器启动期间没有运气......
org.glassfish.deployment.common.DeploymentException: CDI deployment failure:Error loading class com.sun.jersey.guice.spi.container.servlet.GuiceContainer
第二种方法:
在意识到 GF 4.0 被认为可以与 Jersey 2.x 一起使用后,我删除了 NetBeans 提供的 Jersey 1.13。我下载了 Jersey 2.x (2.1.0)。Unfortunattely Viewable 不是 Jersey 2.x 的一部分 ... :(
第三种方法:
当我未能在我的 GF 4.0 中使用 Viewable 时,我选择了 GF 3.0,认为这可以解决我的问题。我下载服务器很高兴看到解决方案很接近。启动后,我添加了“添加库”Jersey 1.13 ......我启动了服务器......不走运:
SEVERE: Missing dependency for field: private com.sun.jersey.oauth.server.spi.OAuthProvider com.sun.jersey.oauth.server.api.resources.AccessTokenRequest.provider
SEVERE: Missing dependency for field: private com.sun.jersey.oauth.server.spi.OAuthProvider com.sun.jersey.oauth.server.api.resources.RequestTokenRequest.provider
经过一番挖掘,我发现 GlassFish 的开头是:
INFO: Initiating Jersey application, version 'Jersey: 1.11.1 03/31/2012 06:49 PM'
而且我添加了 1.13 .... 这对我来说是新事物,GlassFish 包含 Jersey 并且与 1.13 版本不兼容!
第四种方法:
我删除了之前添加的 Jersey 1.13。但我从 NetBeans 看到错误:
package com.sun.jersey.api.view.Viewable doesn't exists.
什么鬼……我去我的图书馆树,看到默认情况下只添加了一个 Jersey 库:
Libraries -> GlassFish Server -> jersey-core.jar
看来 jersey-server.jar 不见了....
问题:如果 Jersey 是 GlassFish 的一部分,为什么我的库树中没有 jersey-gf-server.jar 库,而只有 jersey-core.jar?