Драйвер jdbc не найден при выполнении из экспортированного Jar

У меня есть апплет Java, он работает правильно при выполнении из eclipe, но я хочу экспортировать его в Jar и использовать. но когда я это делаю, я получаю, что драйвер jdbc не найден, похоже, что при экспорте jaybird не экспортируется.

Для экспорта я использую экспорт eclipse и выбираю файл Java/JAR, в пути сборки у меня есть отметка jaybird для экспорта.

Какие-либо предложения? заранее спасибо


person J. Arenas    schedule 29.09.2012    source источник
comment
Убедитесь, что в Eclipse вы используете опцию, которая включает упаковку библиотек в .jar, как мне кажется.   -  person Austin    schedule 29.09.2012
comment
Вы можете попробовать добавить требуемый Jar в папку lib в проекте.   -  person Rohit Jain    schedule 29.09.2012
comment
@Austin, который использует Runnable JAr File, и у меня есть только конфигурация запуска FBCommandLine, и это дает мне ошибку   -  person J. Arenas    schedule 29.09.2012
comment
@J.Arenas Этот вариант? puu.sh/19Kpt   -  person Austin    schedule 29.09.2012
comment
а что за установщик? Он будет содержать все банки как один установочный пакет. Во всяком случае, для netbeans я использовал этот coderanch. com/t/419419/vc/there-way-netbeans-include-external. Есть много предложений, я использовал DOS SCRIPT   -  person JustCause    schedule 29.09.2012
comment
@Austin, проблема в том, что он автоматически выбирает FBCommandLine в качестве конфигурации запуска и выдает мне ошибку   -  person J. Arenas    schedule 30.09.2012


Ответы (4)


Используйте Fat Jar для создания исполняемых JAR-файлов, содержащих все зависимые библиотеки.

person Alastair McCormack    schedule 29.09.2012
comment
Я пробовал это, но когда я пытаюсь выполнить, я получаю, что подпрограмма не инициализирована, и браузер не показывает апплет - person J. Arenas; 29.09.2012

Скорее всего, вам не хватает файлов из папки META-INF jar-файла Jaybird. Эти файлы необходимы для работы Jaybird. Другая возможность заключается в том, что вам не хватает одной из необходимых зависимостей Jaybird (connector-api-1.5.jar для Jaybird 2.2 или mini-j2ee.jar для более ранних версий).

Даже если вы заставите это работать, вы, скорее всего, столкнетесь с ошибкой позже, поскольку Jaybird не был разработан с учетом поддержки апплетов, см. http://tracker.firebirdsql.org/browse/JDBC-254 и NoClassDefFoundError с апплетом jdbc

Кстати: почему бы вам просто не использовать банку как есть. ИМХО создание толстых банок, включая все ваши зависимости, уродливо и негибко.

person Mark Rotteveel    schedule 30.09.2012
comment
Пожалуйста, объясните, используйте банку как есть, вы хотите добавить в апплет HTML-тег archive=jaybird? - person J. Arenas; 30.09.2012
comment
В общем, я бы посоветовал не использовать апплеты. Но если очень надо: можно указать дополнительные архивы в атрибуте ARCHIVE тега апплета. См. docs.oracle.com/javase/1.4.2. /docs/guide/misc/applet.html - person Mark Rotteveel; 30.09.2012
comment
Я пробовал это, но иногда у меня не инициализировалась подпрограмма, но это была бы другая проблема, спасибо! - person J. Arenas; 30.09.2012
comment
Наконец-то я получил ответ, мне пришлось подписать банку jaybird еще и потому, что эта банка выполняла операцию чтения/записи на жестком диске. - person J. Arenas; 10.10.2012

Наконец-то я получил ответ, мне пришлось подписать банку jaybird еще и потому, что эта банка выполняла операцию чтения/записи на жестком диске.

person J. Arenas    schedule 10.10.2012

Используя Eclipse, вы можете просто решить эту проблему. Перейдя к Eclipse -> File -> Export -> Runnable JAR file и выбрав опцию Extract required libraries into generated JAR, Eclipse извлечет необходимые библиотеки рядом с вашим проектом и создаст для вас необходимый файл MANIFEST.MF, а затем упакует их все вместе в ваш файл JAR.

person Arash moradabadi    schedule 17.02.2019