1

我只是想将来自 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?

4

1 回答 1

2

缺少的 Jersey 库可以在 GlassFish 目录中找到 GlassFish-3.0/glassfish/modules/jersey-gf-server.jar并手动添加到项目中。Viewable 在类路径中,并且服务器启动正常。

于 2013-08-10T16:33:26.690 回答