将 OSGi/Spring Web 应用程序更新到 Jersey 2。目前正在使用 Jersey 2 编译和安装,但是在访问我们的资源时出现此错误:
找不到媒体类型 = 应用程序/json、类型 = 类 org.codehaus.jettison.json.JSONObject、通用类型 = 类 org.codehaus.jettison.json.JSONObject 的 MessageBodyWriter。
org.codehaus.jettison.json 作为球衣的“媒体提供者”的当前配置详细信息。
• 添加了对 jersey-media-json-jettison 的依赖
• 我在 web.xml 中使用 glassfish 特定的 init-param 指定 org.codehaus 包:
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
org.codehaus.jettison.json,
...
</param-value>
</init-param>
• 在我们的 webapp 捆绑 bnd 文件中添加了包:
org.codehaus.jettison.json,\
这表明它已成功将其导入 OSGi 控制台:
Imported packages
org.codehaus.jettison.json; version="1.3.3"
控制台还显示了 jersey-media-json-jettison 包使用的包:
packages org.codehaus.jettison.json
org.codehaus.jettison.json; version="1.3.3"<org.codehaus.jettison.jettison_1.3.3 [121]>
org.glassfish.jersey.media.jersey-media-json-jettison_2.22.1 [192]
有什么想法在这里配置 json 提供程序吗?
使用org.codehaus.jettison
包是否需要编程配置才能作为 json 提供程序工作?
我在问正确的问题吗?
谢谢你,汤姆