JB8*_*B87 11 java eclipse linux java-3d exception
我遇到了一些麻烦,配置java3D以适应我的IDE环境......
我已经下载了j3d-1_5_2-linux-i586.zip,并解压缩了j3dcore.jar,j3dutils.jar,vecmath.jar,libj3dcore-ogl.so,libj3dcore-ogl-cg.so并将它们全部添加为"Referenced Libraries"我的项目文件夹.这摆脱了我得到的任何编译警告但是当我编译并运行应用程序时,我得到以下异常!
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)
Run Code Online (Sandbox Code Playgroud)
这里也快速浏览一下源代码.注意:一旦将Eclipse添加为Referenced Libraries,Eclipse就会使用Ctrl + Shift + O自动拉入导入库路径.
import javax.media.j3d.BranchGroup;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
public class Hello3d {
public Hello3d(){
SimpleUniverse universe = new SimpleUniverse();
BranchGroup group = new BranchGroup();
group.addChild(new ColorCube(0.3));
universe.getViewingPlatform().setNominalViewingTransform();
universe.addBranchGraph(group);
}
public static void main(String[] args){
new Hello3d();
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定我对'j3dcore-ogl'有什么意义但是我坚持这一点.如何在系统环境或IDE项目中安装java3D?请帮忙.
IDE:Eclipse SDK 3.5.2
JVM:java-6-sun-1.6.0.22
操作系统:Ubuntu 10.04 LTS
小智 23
我知道这个问题现在已经有几年了,但是这里的答案还不足以让我解决这个问题.他们只是部分帮助.http://www.filsa.net/2008/07/17/eclipse-java3d-and-javalibrarypath/也有点帮助,但仍然不够.因此,我觉得有必要编写一份完整的清单,让Java3D在Eclipse中运行.
几个月前,我已经遇到了同样的问题,我在不明白我做了什么的情况下解决了这个问题.今天我想在不同的计算机上设置我的环境并猜测是什么,我又遇到了同样的问题.我忘记了我必须做的事情......但是,这次我更系统地解决了问题,现在我理解了每一步.
解决方案 - 每一步都很详细
1)如果要导入其他人的项目,请确保在Eclipse中安装并选择了正确的JDK和JRE.我的Eclipse选择了最新的JRE 7.我唯一安装过的.但是我工作的项目需要JDK 6和JRE 6.如果你需要有多个java版本,我建议在你的文件系统上使用以下结构
2)在Eclipse中,您必须执行以下步骤以选择正确的JDK和JRE.
3)正确设置Java环境,确保在您的计算机上安装了Java3D.你不能对此做错任何事.
4)在Java3D安装目录中,找到文件
如果您正确设置环境,这些文件的位置无关紧要,我将解释.因此,如果需要,可以将这些文件复制到项目目录中,以便在一个地方拥有所需的一切.
5)找到这些文件后,请确保
6)现在是今天救了我一天的部分.
对于Java Build Path中列出的每个Java3D库
您需要指定本机库位置.Native库是j3dcore-ogl.dll,因此编辑本机库位置以指向包含j3dcore-ogl.dll的目录.
我相信,这些都是在eclipse中设置Java3D所必须采取的步骤,因为我今天在一台新电脑上设置了所有内容.现在我希望这些说明可以节省一些其他可怜的Java初学者,学生或程序员的日子:-)
Java抱怨,因为它无法在Java3D附带的系统路径上找到本机库(*.so文件).具体如何解决这个问题取决于你.您可以执行以下任何操作之一:
1)确保您的系统路径包含Java3D提供的*.so文件
2)设置LD_LIBRARY_PATH环境变量:export 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"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29738 次 |
| 最近记录: |