Blackberry 5.0 - Добавить ссылку на проект библиотеки Java - PullRequest
3 голосов
/ 01 февраля 2012

Мне кажется, что то, чего я пытаюсь достичь, невероятно просто, но становится невероятно болезненным.

У меня есть ProjectA, который является проектом приложения BlackBerry.У меня есть ProjectB, который является проектом библиотеки Java.Я хочу сослаться на ProjectB от ProjectA.Я могу добавить ссылку, но когда я запускаю ProjectA, она не работает.У меня есть исходный код для обоих проектов, и оба скомпилированы с использованием компилятора Java 1.4

Я пробовал несколько вещей, но по какой-то причине все не получается:

1.pre-verify.exe на ProjectB Не удается с ошибкой «Создание файла JAR не удалось с ошибкой -1». Я вижу, что файлы cod и jar были созданы, но когда добавить файл jar в ProjectA и запустить его, онне работаетНе уверен, что мне нужно добавить файл .cod.

2.Создать новый проект библиотеки BlackBerry и сослаться на него в ProjectA . Я создаю новый проект ProjectC, а затем добавляю в него банку ProjectB.Затем я добавляю ссылку на ProjectC в ProjectA.Но я не могу импортировать классы из ProjectB

Просьба предложить выход.Я использую Eclipse Plug-in и полагаюсь на возможности сборки Eclipse

Ответы [ 2 ]

7 голосов
/ 02 февраля 2012

разобрался, отвечу сам.Публикация здесь на случай, если кто-то наткнется на это.Вот шаги:

  1. Создайте свою библиотеку и экспортируйте как JAR (или загрузите JAR стороннего производителя)
  2. Запустите preverify.exe на JAR

    preverify.exe -verbose -classpath "C: / Program Files / Research In Motion / BlackBerry JDE 5.0.0 / lib / net_rim_api.jar" jarname.jar

  3. Если вам повезет, вы не будете сталкиваться с какими-либо проблемами, и вы будете готовы.Но мне не повезло.Я получил следующую ошибку

Ошибка: нет такого файла или каталога.Не удалось создать файл JAR с ошибкой -1

Существует две возможные причины этого:

  • jar.exe не добавлен в вашу переменную PATH.Если это так, добавьте его (находится в каталоге установки JAVA) в параметр PATH
  • cvfm или -cfm на jar.exe, который не выполняется.Я не знаю причину, но способ исправить это, используя опцию -cf, указать файлы .class, но не использовать файл манифеста.Вот пример
    :

    "C: \ Program Files \ Java \ jdk1.6.0_26 \ bin \ jar.exe" -cf "output \ json-1.0.jar" tmp12996 /

tmp12996 содержит предварительно проверенные файлы .class.Вы можете столкнуться с другими проблемами, отличными от тех, которые я перечислил выше.

  1. После создания jar с шага выше, убедитесь, что его структура соответствует ожидаемой.Один из способов проверить это - переименовать файл .jar в .zip, распаковать его, а затем проверить.Если это не так, как вам нужно, вы можете изменить структуру и затем упаковать ее (хотя я бы не сделал каких-либо серьезных изменений)

  2. Затем добавьте этот недавно созданный jar в ваше приложение BlackBerryнапример, добавьте в Java Build Path в своем затмении и проверьте его в окне «Порядок и экспорт».

  3. Вот и все!Вы хороши, чтобы пойти!Запустите ваше приложение!

Вы можете столкнуться с ошибкой, указывающей, что модуль содержит ошибки проверки при попытке запуска в симуляторе.Одной из возможных причин этой проблемы является то, что ваша библиотека (исходный JAR) содержит API-интерфейсы, несовместимые с J2ME или BB JRE.Вы не можете получить ошибку компилятора при самостоятельной сборке библиотеки, так как она скомпилирована для Java 1.4 (или любой другой версии).Лучше всего разобраться в проблеме - переместить весь ваш код в проект BB App, а затем собрать его.Это скажет вам все вопросы заранее.Вы вносите изменения по мере необходимости, а затем перемещаете код обратно в библиотеку.Если у вас нет исходного кода для используемой вами библиотеки (например, сторонней библиотеки), вам может не повезти!Также помните, что могут быть и другие проблемы, помимо того, что я натолкнул и решил.

Я подробно документирую это, так как мне понадобилось очень много времени, чтобы разобраться во всем этом;и, мягко говоря, был самым расстраивающим!

1 голос
/ 01 июня 2012

Я нашел другое решение. Если вы получили ошибку -1 при предварительной проверке файла JAR, просто запустите приложение библиотеки один раз. Потому что, если вы не запустите приложение, папка результатов будет пустой. Убедитесь, что эта папка не пуста.

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