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

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

29.09.2016, 03:41. Показов 2936. Ответов 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
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru