С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25

Не подключается dll в jar файле

29.09.2016, 03:41. Показов 2911. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Суть проблемы такова: использую в своём проекте dll библиотеку, которая лежит в %папка_проекта%/src/lib/ ,при попытке запустить jar файл, получившийся на выходе, обнаруживаю, что dll не обнаружилась .
Подробнее: в проекте нужно захватывать картинку с вэб камеры, юзаю для этого OpenCV. Работаю в IDEA, в ней всё без проблем запускается и есть картинка, при запуске jar, который она выплёвывает - картинки нет. В classpatch /lib/ вписал, уже и не знаю что делать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.09.2016, 03:41
Ответы с готовыми решениями:

Вызов функции из dll. Dll не определена в коде и подключается программно
Я написал простую функцию которая возвращает негатив bitmap'а Function Negative(ByVal Bmp As Bitmap) Dim Bmp2 As New...

Подключение PostgreSQL JDBC к проекту в Eclipse. JAR не подключается
На многих форумах, в том числе и здесь, был найден единый способ подключения вышеуказанной библиотеки в проекту в Eclipse: 1. В...

Как программно сделать из jar dll?
Мне нужно программно сделать из jar файл dll,чтобы заинжектить его потом в процесс.Мне интерессно это вообще возможно... Вот примерно так...

13
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
29.09.2016, 08:30
100% относительные пути

Добавлено через 10 секунд
как подключаешь dll в коде?

Добавлено через 13 секунд
откуда запускаешь jar вне ide?
1
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
29.09.2016, 12:00  [ТС]
В коде подключаю System.loadLibrary(Core.NATIVE_LIBRARY_N AME);
Jar запускаю прям из %папка_проекта%\out\artifacts\%имя_проек та%
Очень хотелось бы всё засунуть в 1 jar файл, что-бы из него всё загружалось на других машинах без проблем.
В project structure Native Libray Locations стоит пусть C:\Users\%User_Name%\IdeaProjects\%Name_ project%\src\lib
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
29.09.2016, 12:32
Цитата Сообщение от ICaxapI Посмотреть сообщение
Core.NATIVE_LIBRARY_NAME
что записано в этой переменной?
1
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
29.09.2016, 12:38  [ТС]
Название библиотеки, "opencv_java300.dll" вроде.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
29.09.2016, 12:43
Цитата Сообщение от ICaxapI Посмотреть сообщение
System.loadLibrary(Core.NATIVE_LIBRARY_N AME);
либо тут попробуй сюда писать не только имя файла, но и путь, т.е. "src\lib\opencv_java300.dll"

либо попробуй
java -Djava.library.path=.\src\lib\ -jar out\artifacts\%имя_проекта%.jar
ну еще можно попробовать скопировать артифакт в корень и попробовать так же оба варианта
1
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
29.09.2016, 19:20  [ТС]
Окей, запустив проект из командной строки , я понял что заблуждался. Не загружается не dll, а другие jar, которые используются в проекте (хоть они тоже лежат в /lib/). А именно выдаёт ошибку java.lang.NoClassDefFoundError: org/opencv/videoio/VideoCapture. Подскажите пожалуйста, как правильно их импортировать? В IDE просто прописал их в ProjectStructure - Libraries. (В jar они тоже все на месте.), в коде где использую их - import org.opencv.videoio.VideoCapture;

Добавлено через 2 часа 0 минут
Понял, что вопрос выше очень глупый Ибо jar из jar JVM запускать не будет, но тогда у меня встал ещё один вопрос, как в таком случае программе указать, что библиотеки нужно искать в папке lib, находящийся в папке, откуда запускается программа? Что прописать в MANIFEST?
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
29.09.2016, 19:30
вот так:
java -Djava.library.path=.\src\lib\ -cp lib -jar out\artifacts\%имя_проекта%.jar
1
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
29.09.2016, 19:44  [ТС]
Ну не знаю уже, тут либо лыжи не едут, либо я не очень умный человек Потому-что я уже даже полностью пути указал, и всё ровно ничего не работает
Кликните здесь для просмотра всего текста
http://image.************/image/3010715b484a40efa41b5bb368a46dce.png
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
29.09.2016, 21:06
ICaxapI, а что за джарники и папка lib в артифактах? идея так копирует?
0
3 / 3 / 1
Регистрация: 31.07.2016
Сообщений: 43
29.09.2016, 22:02
Моя тема, может поможет - тоже было но деф класс фаунд
Получить Title активного окна из Java

Вобщем в средстве разработки надо добавить длл в пути проекта.
А для запуска из джарника, нужно положить длл в папку джарника и вызывать её с указанием полного пути до неё.
0
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
29.09.2016, 23:02  [ТС]
LeX BB, Нет, это я уже пробовал шаманить, не получилось. (прописывал в cp ./lib/)
Javagif, В IDE всё без ошибок. Я уже обнаружил что оказывается не подключается не dll, а сторонние jar.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.09.2016, 00:28
Вроде для opencv какая то обертка для джавы была, если я не путаю ни с чем
0
0 / 0 / 1
Регистрация: 11.08.2016
Сообщений: 25
30.09.2016, 23:03  [ТС]
xoraxax, да, там есть opencv-300.jar и opencv_java300.dll. Первая использует вторую, и я не знаю как подключить первую в свой проект, что-бы я мог спокойно положить в папку свой jar, opencv-300.jar и opencv_java300.dll, запустить свой jar'ник и всё заработало.

Добавлено через 22 часа 21 минуту
\\решил, неправильно собирал jar'ник. При настройке сборки нужно указывать "Copy to the output derectory and link via manifest", ибо используются сторонние jar. PS Dll'ку кинул в корень и всё
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.09.2016, 23:03
Помогаю со студенческими работами здесь

Картинки в jar файле
Как правильно создать jar файл что бы с него подгружались картинки?

Не подключается dll
Добрый день. Почему может происходить такое: Гружу dll(LoadLibrary) и если эта dll собрана с some_lib.lib то она не подключается, а если...

не подключается dll от VC 8
Здравствуйте! Имеется dll, lib файл и заголовочник созданные в MS VC8. Необходимо подключить dll'ку к C++ Builder 2010. Пробовал...

DLL не подключается
Добрый день. Помогите пожалуйста с такой проблемой. Пытаюсь создать dll и подключить её статически к проекту а в результате всегда...

Не работает SplashScreen в jar файле
Доброе утро Вопрос такой я вот сделал окно ( SplashScreen верней гружу гифку) что появляется перед загрузкой формы в NEtbeans...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru