当我升级 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/