泽西岛给出运行时错误java.lang.NoClassDefFoundError:org/glassfish/jersey/server/ResourceConfig [英] Jersey gives runtime error java.lang.NoClassDefFoundError: org/glassfish/jersey/server/ResourceConfig

查看:1047
本文介绍了泽西岛给出运行时错误java.lang.NoClassDefFoundError:org/glassfish/jersey/server/ResourceConfig的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将球衣服务定义为:

private static HttpServer createHttpServer() throws IOException {
    final ResourceConfig resourceConfig = new ResourceConfig(Api.class);

    return JdkHttpServerFactory.createHttpServer(URI, resourceConfig);

}

这可以编译.但是,当我尝试运行它时,它会抛出java.lang.NoClassDefFoundError:

This compiles fine. But when I try to run it it throws java.lang.NoClassDefFoundError:

        Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/jersey/server/ResourceConfig
        at EmbeddedHTTPServer.createHttpServer(Unknown Source)
        at EmbeddedHTTPServer.main(Unknown Source)
    Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.server.ResourceConfig
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

这些是库:

$ ls lib
commons-collections-3.2.1.jar  jsoup-1.8.3.jar
commons-dbcp-1.4.jar           logback-classic-1.1.3.jar
commons-email.jar              logback-core-1.1.3.jar
commons-io-2.4.jar             mail.jar
commons-lang3-3.0.1.jar        mysql-connector-java-5.1.17.jar
gdata-core.jar                 quartz-2.2.1.jar
javaee-web-api.jar             rome-1.5.1.jar
jdom2-2.0.6.jar                rome-modules-1.5.1.jar
jersey-container-jdk-http.jar  rome-utils-1.5.1.jar
jersey-server.jar              slf4j-api-1.7.12.jar
json.jar

Env:

  1. Ubuntu
  2. Oracle JDK 1.8
  3. JAX-RS 2

有什么主意吗?

谢谢.

推荐答案

似乎Jersey仅在lib文件夹中的jar才能正确编译,而在运行时则需要ext文件夹中的jar.

It appears Jersey compiles properly with only jars in lib folder but at runtime jars in ext folder are required.

从JAX-RI捆绑包中将jar添加到ext文件夹后,问题解决了.

After adding jars in ext folder from the JAX-RI bundle issue resolved.

这篇关于泽西岛给出运行时错误java.lang.NoClassDefFoundError:org/glassfish/jersey/server/ResourceConfig的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆