IDE 環境で動作するように java3D を構成する際に問題が発生しました...
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)
ここでもソースコードを簡単に見てみましょう。注: 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();
}
}
「j3dcore-ogl」で何をするつもりだったのかわかりませんが、この時点で立ち往生しています。システム環境または IDE プロジェクト内に java3D をどのようにインストールしますか? 助けてください。
IDE: エクリプス SDK 3.5.2
JVM: java-6-sun-1.6.0.22
OS: Ubuntu 10.04 LTS