Blackberry: ошибка проверки при использовании проекта библиотеки в качестве внешнего Jar
Я создал два проекта Blackberry в подключаемом модуле Java Blackberry для Eclipse: MyProjectApp (устанавливается как проект приложения) и MyProjectLib (устанавливается как проект библиотеки). Теперь я создал простой класс MainScreen, как показано ниже:
public class SampleScreen extends MainScreen {
public SampleScreen (){
RichTextField topbar = new RichTextField("hello world");
add(topbar);
}
}
Теперь я экспортирую MyProjectLib как файл Jar и добавляю то же самое в MyProjectApp как внешний Jar. Теперь я хочу запустить SampleScreen, используя это:
public class MyProjectMain extends UiApplication{
public static void main(String[] args) {
MyProjectMain theApp = new MyProjectMain();
theApp.enterEventDispatcher();
}
public LangHostMain(){
// Push a screen onto the UI stack for rendering.
pushScreen(new SampleScreen());
}
}
Это дает следующую ошибку:
Модуль "MyProjectApp" имеет ошибки проверки. Ошибка запуска MyProjectApp: модуль "MyProjectApp" имеет ошибки проверки.
Но если я переместил класс SampleScreen в MyProjectApp, он работает нормально. В чем проблема при экспорте банки и ее использовании? Какой тип проверки необходим?
2 ответа
Там есть инструмент preverify.exe; он гарантирует, что байт-код совместим с платформой BlackBerry.
Компилятор BlackBerry Rapc использует формат байт-кода java 1.3 при компиляции приложения в файл cod.
Если вы создали свой jar-файл в другом формате байт-кода, например, путем компиляции с версией 7.0 javac, то этот jar-файл не пройдет проверку.
Попробуйте скомпилировать файл JAR с ключом, чтобы сделать его совместимым с байт-кодом VM 1.3,
использование -target 1.3
комбинация ключ-значение для компилятора java для создания вашего jar-файла.
Короче говоря, использование банок в BlackBerry - беспорядок.
Ваш кувшин должен быть предварительно проверен. У меня было так много проблем в прошлом, когда я пытался сделать это с помощью плагина eclipse, что я обычно делаю это с помощью командной строки. Внутри вашего пути JDE, обычно по адресу:
C:\Program files\Research In Motion\BlackBerry JDE x.x.x\bin
Там программа называется preverify
, Как только вы предварительно проверили свою банку, в указанной выходной директории создается другая предварительно проверенная банка. Это файл, который вы должны импортировать в путь сборки.