Получение исполняемого файла JAR для запуска после создания из NetBeans

1

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

Я попытался создать исполняемый файл в netbeans с помощью Clean и build, и у меня есть все необходимые свойства в наборе сборки сборки, однако, когда я пытаюсь дважды щелкнуть банку, ничего не происходит. Предполагается запустить банку из моего основного класса

Теперь я попытался перейти на CMD-терминал и сделать это оттуда, используя:

java -jar myapp.jar 

Я добавил 3 разных банки, включая sqlite-jdbc3.8.7, AbsoluteLayout, miglayout

но то, что было возвращено, было:

Exception in thread "main" java.lang.RuntimeException: Could not load SQLite JDBC driver
        at myapp.database.DatabaseConProvider.<init>(DatabaseConPr
ovider.java:18)
        at myapp.presenter.AppPresenter.<init>(AppPresenter.java
:32)
        at myapp.Main.main(Main.java:17)
Caused by: java.lang.ClassNotFoundException: org.sqlite.JDBC
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at myapp.database.DatabaseConProvider.<init>(DatabaseConPr
ovider.java:16)
        ... 2 more

Проблема заключается в том, что он не может получить доступ к файлам jar, которые были добавлены в проект, потому что как только я выполняю очистку и создаю папку /dist в проекте, имеет только myapp.jar, но также должен иметь README.txt и папке lib, которая содержит все библиотеки. Как видно в:

http://netbeanside61.blogspot.co.uk/2009/08/making-executable-desktop-application.html

Я использую окна 8 с netbeans 8.0.2

  • 0
    Включили ли вы «копировать зависимые библиотеки» в разделе «Упаковка» свойств проекта?
  • 0
    да у меня есть, и это все еще дает мне эту ошибку я не уверен, почему он не загружает мои банки, если я сделал это правильно
Показать ещё 2 комментария
Теги:
netbeans
jar
executable

2 ответа

1
Лучший ответ

С помощью проводника вы можете перейти к структуре файла.jar. (Или переименовать расширение.jar в.zip)

  • возможность 1
    посмотрите на MANIFEST.MF там что-то вроде

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.7.0_51-b13 (Oracle Corporation)
Class-Path: lib/sqlite-jdbc-3.8.7.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: Find

здесь sqlite-jdbc-3.8.7.jar находится в папке lib/ за пределами GUIFormExamples.jar

Изображение 174551

  • возможность 2
    содержимое sqlite-jdbc-3.8.7.jar добавляется в appxx.jar

Изображение 174551


  • Дело 1
    поместите папку lib в ту же папку, где ваш appxx.jar

  • Случай 2 должен работать из коробки

0

Как вы управляете зависимостями приложений? Я призываю вас не просто "добавлять баннеры к вашим сетям" - вместо этого пользовательский инструмент управления проектами и зависимостями - Maven или Gradle.

Затем, в случае maven, проверьте этот ответ: qaru.site/questions/572/...

Портирование вашего приложения в проект maven/gradle займет много времени (но, к сожалению, изучение инструмента определенно будет...), и вы получите большую гибкость.

  • 0
    «Netbeans использует Maven, а maven имеет подключаемый модуль lib-зависимости, который автоматически генерирует такую запись, сканируя все зависимости в вашем файле POM». Моя подруга пробовала такой же подход на своем компьютере, и он работает для нее в том же проекте и создает его, нажимая однако файл, когда я делаю это на моем компьютере, он не работает
  • 0
    @ fooll git на помощь! В частности, github.com бесплатен, есть и другие. Не для того, чтобы утопить вас в нерелевантности, но, вероятно, в NB есть настройка, которая есть или нет в проекте, поэтому и возникает расхождение. FWIW, боль и хлопоты, в частности, gradle, имхо, того стоят. NB поддерживает Gradle с плагином.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню