我正在尝试使用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/