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

Когда я попытался запустить Java 3D PROGRAM, он дал мне следующую ошибку.

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 Build Path --->Add Exernal Class Folder -> и путь до bin (именно там, где находятся эти dll-файлы)

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

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

3 ответа

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

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

  1. Загрузите соответствующие двоичные файлы j3d Zip по адресу https://java3d.java.net/binary-builds.html. Для меня Win7 64bit Java VM (он же. Jdk & jre), я выбираю j3d-1_5_2-windows-amd64.zip,
  2. Распакуйте загруженные файлы J3D Zip (j3d-1_5_2-windows-amd64.zip) чтобы получить j3d-jre.zip файл внутри.
  3. Разархивируйте j3d-jre.zip чтобы получить bin/ & lib/ папки.
  4. Скопируйте и вставьте и объедините полученный bin/ & lib/ папки в соответствующие bin/ & lib/ папки моих папок JVM (иначе. оба jdk/ & jre/ папки).



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

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

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

"dll_name" - это имя файла в папке bin библиотеки.

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

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

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

Другие вопросы по тегам