Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.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库配置的问题_Java_Linux_Eclipse_Exception_Java 3d - Fatal编程技术网

java3D库配置的问题

java3D库配置的问题,java,linux,eclipse,exception,java-3d,Java,Linux,Eclipse,Exception,Java 3d,我在配置java3D以使用IDE环境时遇到了一些问题 我下载了j3d-1_5_2-linux-i586.zip,解包了j3dcore.jar、j3dutils.jar、vecmath.jar、libj3dcore-ogl.so、libj3dcore-ogl-cg.so,并将它们作为“参考库”添加到我的项目文件夹中。这消除了我得到的任何编译警告,但是当我编译并运行应用程序时,我得到了以下异常 Exception in thread "main" java.lang.UnsatisfiedLinkE

我在配置java3D以使用IDE环境时遇到了一些问题

我下载了j3d-1_5_2-linux-i586.zip,解包了j3dcore.jar、j3dutils.jar、vecmath.jar、libj3dcore-ogl.so、libj3dcore-ogl-cg.so,并将它们作为“参考库”添加到我的项目文件夹中。这消除了我得到的任何编译警告,但是当我编译并运行应用程序时,我得到了以下异常

Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
    at java.lang.Runtime.loadLibrary0(Runtime.java:840)
    at java.lang.System.loadLibrary(System.java:1047)
    at javax.media.j3d.NativePipeline$1.run(NativePipeline.java:231)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:200)
    at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:157)
    at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:987)
    at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:299)
    at Hello3d.<init>(Hello3d.java:10)
    at Hello3d.main(Hello3d.java:18)
我不确定我打算用“j3dcore ogl”做什么,但我还是停留在这一点上。如何在系统环境或IDE项目中安装java3D?请帮忙

IDE:EclipseSDK3.5.2

JVM:java-6-sun-1.6.0.22


OS:Ubuntu10.04 LTS

Java正在抱怨,因为它无法在您的系统路径上找到Java3D附带的本机库(即*.so文件)。具体如何解决这个问题取决于你自己。您可以执行以下任一操作:

1) 确保您的系统路径包含Java3D提供的*.so文件

2) 设置LD_库_路径环境变量: 导出LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/“PATH-to-java3d-libraries”/

3) 执行java时设置java.library.path: java-Djava.library.path=$LD_library_path:/usr/lib/“path-to-java3d-libraries”/

为了确保设置正确,请将以下内容添加到Java代码中,并确保报告的路径包含其中的共享库

System.out.println("LD Library Path:" + System.getProperty("java.library.path"));
我有这个问题

下载java3d插件并安装它就足够了

在你的搜索引擎中,比如谷歌搜索“java3d插件”


下载并安装它

project/properties/java build path/source选项卡/展开并选择本机库位置/导航到i386文件夹。

我知道这个问题已经问了好几年了,但这里的答案不足以解决这个问题。他们只是帮了一部分忙。也有一点帮助,但仍然不够。因此,我觉得有必要编写一份完整的清单,让Java3D在Eclipse中工作

几个月前,我已经有了同样的问题,我不知怎么地解决了它,却没有真正理解我做了什么。今天我想在另一台计算机上设置我的环境,你猜怎么着,我又遇到了同样的问题。我忘了我该做什么。。。然而,这次我更系统地解决了这个问题,现在我明白了每一步

解决方案-每一步的细节

1)如果要导入其他人的项目,请确保在Eclipse中安装并选择了正确的JDK和JRE。我的Eclipse选择了最新的JRE 7。我安装的唯一一个。但是我所从事的项目需要JDK 6和JRE 6。如果您需要有多个java版本,我建议您的文件系统采用以下结构

  • somePath/Java/JDK/JDK6/
  • somePath/Java/JDK/JDK7/
  • somePath/Java/JRE/JRE6/
  • somePath/Java/JRE/JRE7/
  • somePath/Java/Java3D/
2)Eclipse中,您必须执行以下步骤选择正确的JDK和JRE

  • 项目>属性>Java编译器,选中“启用项目特定设置”,然后为项目选择正确的编译器符合性级别。在我的例子中,它是1.6,用于JDK6。(这个名字让我很困惑,至少6是一个暗示。)
  • 您还必须确保在运行应用程序时使用了正确的JRE。因此,打开Run>runconfigurations并选择选项卡JRE。如果您使用JDK 6,那么您必须确保使用了JRE 6。如果单击“已安装的JRE”,然后添加somePath/Java/JRE/JRE6/目录,则可以添加JRE
3)正确设置Java环境后,确保机器上安装了Java3D。这件事你不会做错的

4)在Java3D安装目录中,找到文件

  • j3dcore ogl.dll(对于Windows;在Linux上是j3dcore ogl.so)
  • j3dcore.jar
  • j3dutils.jar
  • vecmath.jar
如果您正确设置了环境,这些文件位于何处并不重要,我将对此进行解释。因此,如果需要,可以将这些文件复制到项目目录中,以便将所需的所有内容都放在一个地方

5)找到这些文件后,请确保

  • 在您的操作系统上,j3dcore ogl.dll的位置被添加到PATH变量中。.dll或.so文件包含Java3D使用的机器本机代码。您的系统需要知道此代码的存在。 在Windows下,要设置PATH变量,请打开控制面板中的“系统设置”,然后选择“高级系统设置”。在底部,您将找到“环境变量”按钮。在系统变量列表中,您将找到变量“Path”。确保j3dcore ogl的目录包含在路径列表中
  • 回到Eclipse,无论*.jar文件当前在哪里,都要确保它们包含在您的项目>属性>Java构建路径>库中。您可以使用添加JAR添加外部JAR来添加它们,具体取决于是否将三个JAR复制到项目目录
6)现在是今天拯救我一天的部分

对于Java构建路径中列出的每个Java3D库

  • j3dcore.jar
  • j3dutils.jar
  • vecmath.jar
您需要指定本机库位置。本机库是j3dcore ogl.dll,因此编辑本机库位置以指向包含j3dcore-ogl.dll的目录

我相信
System.out.println("LD Library Path:" + System.getProperty("java.library.path"));
  GraphicsConfiguration config =
       SimpleUniverse.getPreferredConfiguration();

    Canvas3D canvas3D = new Canvas3D(config);
"java.library.path" = PATH = C:\Program Files (x86)\Common Files\Oracle\Java\javapath\
(inside this folder: javaws.exe, javaw.exe,java.exe)