Почему мне не хватает /System/Library/Frameworks/JavaVM.framework/Libraries/libjawt.dylib в MacOSX?

1

Я пытаюсь установить Java3D 1.5.2 на моем Mac (OS 10.10). Сначала я попытался использовать установщик, на который ссылается этот ответ whiskeyspider. Он установил файлы, но у меня возникла ошибка, когда я попытался запустить программу. Поэтому я очистил /Library/Java/Extensions и попытался установить вручную в ~/.local/lib, каталог, который я создал ранее, и просто включил банки в мой путь построения проекта (Eclipse). Несмотря на то, что я использую банки и локальные библиотеки (для JOGL-банок), я получаю следующую ошибку при попытке запустить программу:

Exception in thread "J3D-Renderer-1" java.lang.UnsatisfiedLinkError: /Users/brianmc7/.local/lib/jogl/lib/libjogl_awt.jnilib: dlopen(/Users/brianmc7/.local/lib/jogl/lib/libjogl_awt.jnilib, 1): Library not loaded: /System/Library/Frameworks/JavaVM.framework/Libraries/libjawt.dylib
  Referenced from: /Users/brianmc7/.local/lib/jogl/lib/libjogl_awt.jnilib
  Reason: image not found
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1929)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1119)
    at com.sun.opengl.impl.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:189)
    at com.sun.opengl.impl.NativeLibLoader.access$000(NativeLibLoader.java:49)
    at com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:80)
    at com.sun.opengl.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:103)
    at com.sun.opengl.impl.NativeLibLoader.access$200(NativeLibLoader.java:49)
    at com.sun.opengl.impl.NativeLibLoader$2.run(NativeLibLoader.java:132)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.opengl.impl.NativeLibLoader.loadAWTImpl(NativeLibLoader.java:118)
    at com.sun.opengl.impl.JAWT.getJAWT(JAWT.java:91)
    at com.sun.opengl.impl.macosx.MacOSXOnscreenGLDrawable.lockSurface(MacOSXOnscreenGLDrawable.java:144)
    at com.sun.opengl.impl.macosx.MacOSXOnscreenGLContext.makeCurrentImpl(MacOSXOnscreenGLContext.java:57)
    at com.sun.opengl.impl.GLContextImpl.makeCurrent(GLContextImpl.java:134)
    at javax.media.j3d.JoglPipeline$QueryCanvas.doQuery(JoglPipeline.java:9049)
    at javax.media.j3d.JoglPipeline.getBestConfiguration(JoglPipeline.java:8797)
    at javax.media.j3d.Renderer.doWork(Renderer.java:514)
    at javax.media.j3d.J3dThread.run(J3dThread.java:275)

Оказывается, каталог /System/Library/Frameworks/JavaVM.framework/Libraries/не существует. Как я могу исправить эту проблему?

EDIT: Я должен, вероятно, также упомянуть, что я использую ранний доступ JDK 1.8.0_40.

  • 0
    Вместо того чтобы использовать устаревшую версию Java3D, следуйте этим инструкциям: jogamp.org/wiki/index.php/Downloading_and_install_Java3D
  • 0
    Спасибо @gouessej, это сработало! Вы уверены, что 1.5.x «устарел»? Когда я запускаю свою программу с 1.6, я вижу 3D [dev] 1.6.0-pre11-daily-experimental daily напечатанный на stderr, предполагая, что (как я читал в другом месте) 1.6.x является предварительным выпуском. Кроме того, я нашел сайт, на который они ссылаются, более полезным, особенно потому, что там написано, какие банки импортировать в Eclipse. Но если вы расширите свой комментарий в ответ, я приму это!
Теги:
macos
jogl
java-3d

1 ответ

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

Java3D был оставлен Sun Microsystems/Oracle в 2008 году. Java3D поддерживается сообществом JogAmp с 2012 года. Да, Java3D 1.6 состоит из нескольких предварительных выпусков, но они работают намного лучше, чем Java3D 1.5.

В моем собственном руководстве подробно объясняется, как установить самую последнюю версию Java3D.

Ещё вопросы

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