Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java3d不适用于mac mountain lion_Java_Macos_Osx Mountain Lion_Java 3d - Fatal编程技术网

java3d不适用于mac mountain lion

java3d不适用于mac mountain lion,java,macos,osx-mountain-lion,java-3d,Java,Macos,Osx Mountain Lion,Java 3d,我已经试了几个小时让java 3d在我的macbook上运行,但我不知道它出了什么问题。。。 以下是我所做的: -我下载了java3d 1.5并替换了/System/Library/Java/Extensions中的原始文件。 -然后,我在同一个(…)/Java/Extensions文件夹中按照教程安装了JOGL。 -由于它仍然不起作用,我决定尝试java3d的原始版本,因此我重命名了这些文件。 我正在使用java 1.7.0\u 07开发Mac os x mountain lion 以下是ja


我已经试了几个小时让java 3d在我的macbook上运行,但我不知道它出了什么问题。。。 以下是我所做的:
-我下载了java3d 1.5并替换了/System/Library/Java/Extensions中的原始文件。
-然后,我在同一个(…)/Java/Extensions文件夹中按照教程安装了JOGL。
-由于它仍然不起作用,我决定尝试java3d的原始版本,因此我重命名了这些文件。

我正在使用java 1.7.0\u 07开发Mac os x mountain lion 以下是java版本的结果:

    java version "1.7.0_07"
    Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
    Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
以下是我的Java/extensions文件夹的内容:

    AppleScriptEngine.jar   gluegen-rt.jar          j3dutils.jar.new        libAppleScriptEngine.jnilib libgluegen-rt.jnilib            libnewt.jnilib
    MRJToolkit.jar          j3daudio.jar            jai_codec.jar           libJ3D.jnilib               libjogl_desktop.jnilib          mlibwrapper_jai.jar
    QTJava.zip              j3dcore.jar             jai_core.jar            libJ3DAudio.jnilib          libmlib_jai.jnilib              vecmath.jar
    dns_sd.jar              j3dcore.jar.new         jogl-all.jar            libJ3DUtils.jnilib          libnativewindow_awt.jnilib      vecmath.jar.new
    gluegen-java-src.zip    j3dutils.jar            jogl-java-src.zip       libQTJNative.jnilib         libnativewindow_macosx.jnilib
我可以用javac编译java 3d代码,但当我尝试启动它时,结果如下:

    $> java Hello3d
    JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
    AWT not found
    Exception in thread "main" java.lang.NoClassDefFoundError: apple/awt/CGraphicsDevice
        at javax.media.j3d.GraphicsConfigTemplate3D.<clinit>        (GraphicsConfigTemplate3D.java:55)
        at com.sun.j3d.utils.universe.SimpleUniverse.getPreferredConfiguration(SimpleUniverse.java:368)
        at com.sun.j3d.utils.universe.Viewer.<init>(Viewer.java:348)
        at com.sun.j3d.utils.universe.Viewer.<init>(Viewer.java:298)
        at com.sun.j3d.utils.universe.SimpleUniverse.<init>(SimpleUniverse.java:215)
        at com.sun.j3d.utils.universe.SimpleUniverse.<init>(SimpleUniverse.java:177)
        at com.sun.j3d.utils.universe.SimpleUniverse.<init>(SimpleUniverse.java:88)
        at Hello3d.<init>(Hello3d.java:13)
        at Hello3d.main(Hello3d.java:27)
    Caused by: java.lang.ClassNotFoundException: apple.awt.CGraphicsDevice
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
        ... 9 more
$>java Hello3d
JavaVM警告:加载JVM后必须调用JAWT_GetAWT
未找到AWT
线程“main”java.lang.NoClassDefFoundError中出现异常:apple/awt/CGraphicsDevice
位于javax.media.j3d.GraphicsConfigTemplate3D。(GraphicsConfigTemplate3D.java:55)
位于com.sun.j3d.utils.universe.SimpleUniverse.getPreferredConfiguration(SimpleUniverse.java:368)
位于com.sun.j3d.utils.universe.Viewer(Viewer.java:348)
位于com.sun.j3d.utils.universe.Viewer。(Viewer.java:298)
位于com.sun.j3d.utils.universe.SimpleUniverse。(SimpleUniverse.java:215)
在com.sun.j3d.utils.universe.SimpleUniverse上。(SimpleUniverse.java:177)
在com.sun.j3d.utils.universe.SimpleUniverse.(SimpleUniverse.java:88)
在Hello3d。(Hello3d.java:13)
位于Hello3d.main(Hello3d.java:27)
原因:java.lang.ClassNotFoundException:apple.awt.CGraphicsDevice
在java.net.URLClassLoader$1.run(URLClassLoader.java:366)
在java.net.URLClassLoader$1.run(URLClassLoader.java:355)
位于java.security.AccessController.doPrivileged(本机方法)
位于java.net.URLClassLoader.findClass(URLClassLoader.java:354)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:423)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 9更多
我尝试启动的java类来自

你知道我怎样才能解决这个问题吗?

谢谢您的帮助

我担心Java3D 1.5与较新版本的OSX不兼容,没有任何东西 你能行

我已经分叉了Java3D代码,并用JOGL2后端替换了本机代码后端

您可以在这里找到有关在OSX上安装JOGL2的信息(这里还有一个Java3d 论坛(可供选择):

您可以在此处(下载下)获取my Java3d的预构建jar文件:

(j3d核心、j3d utils、vecmath)

公平警告,这只适用于OSX上的Java6。目前,我一直在尝试调试
OSX上的Java7有问题,但没有解决方案的ETA…祝你好运

谢谢你的回答!您的fork是否完全像Java3d一样工作?(相同的名称、相同的潜在错误等)?我这样问是因为我要为学校做一个Java3d项目,我需要知道我是否能使用你的叉子。。。谢谢正确,没有API更改。不同之处在于一些多线程修复、一些内部内存使用的减少以及本机D3D和OpenGL后端的删除。My fork是一个纯java项目,依赖JOGL2进行本机互操作。迁移到JOGL2是一项巨大的任务——它完全是用概要文件等重新设计的。有没有办法用“sun.awt.”vs“apple.awt”重新编译旧的东西,因为这些组件就是在这里移动的?嗨,我正在尝试使用github的最新版本的Java3D,尽管我在论坛上读到Java7问题已经解决(至少在使用JCanvas时)。知道我做错了什么吗?JeffG:API没有任何变化,改用JOGL2完全是在幕后进行的,你应该可以用我的java3d JAR替换旧的java3d JAR,然后添加JOGL2 JAR,它应该可以正常工作(tm)。首先,将Java3D或任何其他Java库作为扩展或安装在JVM中都不是一个好主意。在使用Java Webstart、小程序和其他应用程序时,它可能会导致冲突。您引用的“官方”教程既不是官方的,也不是最新的,而我的是:遵循下面哈维的建议,它应该可以完美地工作。