UnsatisfiedLinkError - Что может означать эта ошибка? Каждый намек полезен! - PullRequest
0 голосов
/ 01 октября 2010

В Eclipse я получаю эту ошибку:

Исключение в теме "главная" java.lang.UnsatisfiedLinkError: com.nokia.mid.impl.isa.util.SharedObjects.nativeSetTable (Ljava / Util / Hashtable;) Ljava / Util / Hashtable;

Я вижу SharedObjects, но nativeSetTable, похоже, не является методом. Однако он может быть скрыт -> У меня нет доступа к исходному коду.

Это был мой код:

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

Это след:

Исключение в потоке "main" java.lang.UnsatisfiedLinkError: com.nokia.mid.impl.isa.util.SharedObjects.nativeSetTable (Ljava / Util / Hashtable;) Ljava / Util / Hashtable; в com.nokia.mid.impl.isa.util.SharedObjects.nativeSetTable (Native Метод) в 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 ]

1 голос
/ 01 октября 2010

Я думаю, что nativeSetTable() является защищенным или частным, поэтому вы его не видите.Более того, nativeSetTable() - это собственный метод, который означает, что он основан на собственном коде (уже скомпилирован для конкретного процессора и доступен в определенной библиотеке [т.е. DLL]).

UnsatisfiedLinkError означаетчто этот конкретный метод не может быть извлечен и выполнен должным образом.

Брошен, если виртуальная машина Java не может найти соответствующее определение на родном языке метода, объявленного собственным.

Это означает, что в вашем эмуляторе Java ME должны отсутствовать библиотеки.Вы должны попытаться переустановить его.


Ресурсы:

0 голосов
/ 01 октября 2010

Хорошо, я нашел одну причину:

Я создал тестовый класс в Java для тестирования своего кода, просто обычный файл Java (с методом main).И я запустил его как простое Java-приложение.Тогда это не работает.Но после того, как я попробовал это в Мидлете, я не получил ошибку!

0 голосов
/ 01 октября 2010

Возможно, ваш путь к классам во время выполнения использует другую версию jar, в которой живет SharedObjects, по сравнению с вашим путем к классам во время компиляции в Eclipse. Я бы дважды проверил ваши настройки пути к классам.

0 голосов
/ 01 октября 2010

Полагаю, вы связываете свой исходный код с неверной версией библиотеки nokia mid.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...