Java: как решить java.lang.UnsatisfiedLinkError: нет J3D в java.library.path

когда я попытался запустить ПРОГРАММУ Java 3D, это дало мне следующую ошибку.

Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no J3D in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)

Я следил за этим веб-сайтом, чтобы решить эту ошибку

http://www.filsa.net/2008/07/17/eclipse-java3d-and-javalibrarypath/

В нем говорится, что после добавления файлов jar дополнительно вам необходимо поместить собственный код j3dcore-ogl.dll (j3dcore-ogl.so в Linux) в PATH.

У меня есть эти файлы dll в папке j3d-1_5_2-windows-i586\bin\j3dcore-ogl.dll.

Я добавил эту поддержку из Eclipse таким образом, Путь сборки Java ---> Добавить папку Exernal Class --> и путь до bin (именно там, где находятся эти DLL-файлы)

После выполнения этого шага я также получаю то же исключение. Вот как теперь выглядит мой путь сборки Eclipse IDE введите здесь описание изображения

Спасибо большое .


person Pawan    schedule 01.11.2011    source источник


Ответы (4)


Я решил вопрос очень просто:

Просто скопируйте, вставьте и объедините папки bin/ & lib/ библиотеки j3d с соответствующими папками bin/ & lib/ обеих папок jre/ & jdk/ JVM, которые вы используете.

  1. Download corresponding j3d Zip binaries at https://java3d.java.net/binary-builds.html. For me, a win7 64bit Java VM (aka. jdk & jre), I choose j3d-1j3d-1_5_2-windows-amd64.zip2-windows-amd64.zip.
  2. UnZip the downloaded j3d Zip binaries (j3d-1_5_2-windows-amd64.zip) to get the j3d-jre.zip file inside.
  3. UnZip the j3d-jre.zip to get the bin/ & lib/ folders.
  4. Copy & paste & merge the obtained bin/ & lib/ folders into the corresponding bin/ & lib/ folders of my JVM folders (aka. both jdk/ & jre/ folders).



Для других JVM то же самое: скопируйте, вставьте и объедините папки bin/ & lib/ библиотеки j3d zip в соответствующие bin/ & lib/ папки jre/ & jdk/ JVM.

person Antoine    schedule 23.09.2013

Можете попробовать запустить regsvr32 "name_of_dll-file" из меню запуска? Вам нужно перезагрузить машину, чтобы это вступило в силу.

Это добавляет DLL как библиотеку, к которой могут обращаться другие программы. Добавлять его в путь сборки Eclipse неправильно, поскольку он будет доступен только для вашей JVM.

person Pavan    schedule 01.11.2011
comment
когда я пробовал вещи, как вы упомянули, я получаю это исключение, tinypic.com/view.php ?pic=2hr1y5v&s=5 (Это происходит со всеми файлами dll) - person Pawan; 01.11.2011

Скопируйте файл .dll в папку Windows/system32, затем нажмите (Windows + R), чтобы запустить (Выполнить)

в поле введите regsvr32 "dll_name"

«dll_name» — это имя файла в папке bin библиотеки.

person uzx 619    schedule 16.03.2019

я решил проблему, скопировав j3dcore-ogl.dll в папку windows/system32

person kiryo    schedule 11.05.2014
comment
Может быть хороший ответ, не могли бы вы уточнить? Кроме того, использование заглавной буквы I помогает. - person Brad Koch; 12.05.2014