UnsatisfiedLinkError - 这个错误意味着什么?每个提示都很有用!

时间:2010-10-01 15:29:00

标签: java exception

在Eclipse中我得到了这个错误:

  

线程“main”中的异常   java.lang.UnsatisfiedLinkError中:   com.nokia.mid.impl.isa.util.SharedObjects.nativeSetTable(Ljava / UTIL /哈希表)Ljava / util的/哈希表;

我可以看到SharedObjects,但nativeSetTable似乎不是一个方法。然而它可能被隐藏 - >我无权访问源代码。

这是我的代码:

connection = (HttpConnection)Connector.open(this.url);

这是追踪:

  

线程“main”中的异常java.lang.UnsatisfiedLinkError:   com.nokia.mid.impl.isa.util.SharedObjects.nativeSetTable(Ljava / UTIL /哈希表)Ljava / util的/哈希表;     在   com.nokia.mid.impl.isa.util.SharedObjects.nativeSetTable(母语   方法)at   com.nokia.mid.impl.isa.util.SharedObjects.createTable(SharedObjects.java:465)     在   com.nokia.mid.impl.isa.util.SharedObjects。(SharedObjects.java:181)     在   com.nokia.mid.impl.isa.io.GeneralSharedIO。(GeneralSharedIO.java:67)     在   com.sun.midp.io.ConnectionBaseAdapter.checkForPermission(ConnectionBaseAdapter.java:236)     在   com.sun.midp.io.ConnectionBaseAdapter.openPrim(ConnectionBaseAdapter.java:205)     在   com.sun.midp.io.ConnectionBaseAdapter.openPrim(ConnectionBaseAdapter.java:178)     在   com.sun.midp.io.InternalConnector.openPrim(InternalConnector.java:254)     在   com.sun.midp.io.InternalConnector.open(InternalConnector.java:153)     在   javax.microedition.io.Connector.open(Connector.java:138)     在   javax.microedition.io.Connector.open(Connector.java:120)     在   javax.microedition.io.Connector.open(Connector.java:104)

4 个答案:

答案 0 :(得分:1)

我认为nativeSetTable()受到保护或私有,这就是您没有看到它的原因。而且nativeSetTable()是一个本机方法,这意味着它基于本机代码(已经为特定处理器编译并在特定的lib中可用[即DLL])。

UnsatisfiedLinkError表示无法正确检索和执行此特定方法。

  

如果Java虚拟机无法找到声明为native的方法的适当本机语言定义,则抛出该文件。

这意味着您的Java ME模拟器必须缺少库。你应该尝试重新安装它。


资源:

答案 1 :(得分:0)

我猜你的源代码与nokia mid库的错误版本相结合。

答案 2 :(得分:0)

与Eclipse中的编译时类路径相比,可能是您的运行时类路径使用了SharedObjects所在的jar的不同版本。我会仔细检查你的类路径设置。

答案 3 :(得分:0)

好的,我找到了一个原因:

我在java中创建了一个测试类来测试我的代码,只是一个普通的java文件(使用main方法)。我把它作为普通的Java应用程序运行。然后,它不起作用。但是在我在Midlet中尝试之后,我没有得到错误!