我想在 Ubuntu 上使用JAVA创建一个3D游戏,因此我从j3d-1_5_2-linux-i586.zip
下载了http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#java3d-1.5.1-oth-JPR
,将其解压缩。在 Eclipse 中,我在eclipse中的../j3d-1_5_2-linux-i586/lib/ext/
中添加了3个jar,然后编写了这段代码
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.ColorCube;
import javax.media.j3d.BranchGroup;
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();
}
}
遇到了这些错误
Description Resource Path Location Type
Access restriction: The constructor SimpleUniverse() is not accessible due to restriction on required library /home/emil/Downloads/j3d-1_5_2-linux-i586/lib/ext/j3dutils.jar Hello3d.java /Checker3D/src line 7 Java Problem
Description Resource Path Location Type
Access restriction: The constructor BranchGroup() is not accessible due to restriction on required library /home/emil/Downloads/j3d-1_5_2-linux-i586/lib/ext/j3dcore.jar Hello3d.java /Checker3D/src line 8 Java Problem
Description Resource Path Location Type
Access restriction: The constructor ColorCube(double) is not accessible due to restriction on required library /home/emil/Downloads/j3d-1_5_2-linux-i586/lib/ext/j3dutils.jar Hello3d.java /Checker3D/src line 9 Java Problem
,更像那些
我设置了" Forbidden reference (access rules)
"在" Deprecated and restricted API
"来自" **Error**
"到" **Warning**
"。
我得到了
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:7)
at Hello3d.main(Hello3d.java:15)
运行---&gt;运行配置---&gt; JAVA应用程序---&gt;(x =)参数---&gt; VM argiments ,我添加了
-Djava.library.path=$LD_LIBRARY_PATH:/home/emil/Downloads/j3d-1_5_2-linux-i586/lib/i386/
我收到了这个错误
Exception in thread "main" java.lang.NoClassDefFoundError: Checker
Caused by: java.lang.ClassNotFoundException: Checker
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: Checker. Program will exit.
答案 0 :(得分:0)
这是你的回答欢呼!
Windows - &gt;偏好 - &gt; Java - &gt;构建路径 - &gt;用户库1.新:J3DAll,2。添加JAR ..选择全部三个.. \ jre6 \ lib \ ext \ j3dcore.jar,j3dutils.jar,vecmath.jar
项目 - &gt;属性 - &gt; Java构建路径 - &gt;图书馆添加图书馆.. - &gt;用户库 - &gt;接下来选择J3DAll Finish 项目 - &gt;属性 - &gt; Java构建路径 - &gt;订购和出口Top J3DAll