我正在尝试使用odata4j连接到OData服务。
ATM就是那段代码:

public class Main extends AbstractExample{
    private static String service = "http://server/ApplicationData.svc";
    public static void main(String[] args) {
        ODataConsumer.Builder b = ODataConsumers.newBuilder(service);
        b.setClientBehaviors(new BasicAuthenticationBehavior("dev","dev"));
        ODataConsumer consumer = b.build();
    }
}


该应用程序已经退出并在main的第一行出现错误:

ODataConsumer.Builder b = ODataConsumers.newBuilder(service);


错误:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/ws/rs/ext/RuntimeDelegate
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.odata4j.consumer.ODataConsumers$Builder.getConsumerClass(ODataConsumers.java:71)
at org.odata4j.consumer.ODataConsumers$Builder.<init>(ODataConsumers.java:47)
at org.odata4j.consumer.ODataConsumers$Builder.<init>(ODataConsumers.java:37)
at org.odata4j.consumer.ODataConsumers.newBuilder(ODataConsumers.java:103)
at com.company.Main.main(Main.java:17)
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.ext.RuntimeDelegate
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 7 more
ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183):  [../../../src/share/back/util.c:838]


可悲的是,我不知道是什么原因造成的。希望有人可以在这里帮忙!

最好的祝福
西蒙

最佳答案

经过半天的搜索,进行了3​​次检查,然后发布了问题,我刚刚意识到我的构建路径设置不正确。
它现在正在工作。
参考

odata4j-0.7.0-clientbundle.jar


失踪。

西蒙

关于java - 简单的odata4j-NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25499101/

10-10 22:32