java - 从 jersey 1.18.1 迁移到 jersey 1.19 时出现 NoClassDefFoundError javax/ws/rs/core/Application

标签 java rest web-applications jaxb jersey

当我升级 Jersey 的版本时,我在尝试启动我的网络应用程序时遇到上述异常。 我正在使用 Jersey 库来实现 JAXBContextResolver其中implements ContextResolver<JAXBContext> 。 在异常中我看到:

Caused by: java.lang.NoClassDefFoundError: javax/ws/rs/core/Application.

配置:

<jersey-server.version>1.19</jersey-server.version>
<jersey-core.version>${jersey-server.version}</jersey-core.version>
<jersey-servlet.version>${jersey-server.version}</jersey-servlet.version>
<jersey-json.version>${jersey-server.version}</jersey-json.version>
<jersey-client.version>${jersey-server.version}</jersey-client.version>

代码:

public class JAXBContextResolver implements ContextResolver<JAXBContext> {
private static final Class<?>[] classes = { Customer.class, Model.class,
        User.class, Workspace.class, AuthResponse.class, Category.class,
        CategoryValue.class };
private JAXBContext context;

public JAXBContextResolver() throws Exception {
    context = new JSONJAXBContext(
            JSONConfiguration.natural().humanReadableFormatting(true)
                    .rootUnwrapping(true).build(), classes);
}

public JAXBContext getContext(Class<?> objectType) {
    return context;
  }
}

最佳答案

需要添加jsr311-api的依赖才可以使用。

关于java - 从 jersey 1.18.1 迁移到 jersey 1.19 时出现 NoClassDefFoundError javax/ws/rs/core/Application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34667021/

相关文章:

java - DataOutputStream 编码和截断

java - 如何在 session 中提取 vector ?

java - 使用逗号分隔和多个参数创建 Rest url

wcf - WCF Rest 服务的 SSL 实现

java - 使用 css 的 java servlet 的某种母版页

java - 使用 Java 的亚马逊 sns 和 sqs 消息

java - 将Web项目部署到Tomcat7后出现404错误

java - DocuSign REST API : How can I configure the ttl_expired timeout for a Recipient URL

java - 如何让两个域名指向同一个Web应用程序并显示不同的内容?

css - 最后使用问号 (?) 在浏览器中访问 CSS