Programm mit Java3D unter Linux laufen lassen

frostbyte

Aktives Mitglied
Hallo,

ich hatte vor einiger Zeit mal ein Programm mit Hilfe von Java3D geschrieben. Das funktioniert auf dem Mac auch gut (unter Windows 7 meine ich auch), aber unter Linux läuft das nicht direkt.

Wenn ich es starte erscheint folgendes:
Code:
$ java -jar 100317-VanAllenGuertel.jar 
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/j3d/Canvas3D
	at de.***.physik.vanallenguertel.VanAllenGuertel.main(VanAllenGuertel.java:34)
Caused by: java.lang.ClassNotFoundException: javax.media.j3d.Canvas3D
	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)
	... 1 more


Beim kompilieren unter Linux ist es auch nicht wirklich besser:

Code:
./Teilchen.java:7: package javax.media.j3d does not exist
import javax.media.j3d.Appearance;
                      ^
./Teilchen.java:8: package javax.media.j3d does not exist
import javax.media.j3d.BranchGroup;
                      ^
./Teilchen.java:9: package javax.media.j3d does not exist
import javax.media.j3d.ColoringAttributes;
                      ^
./Teilchen.java:10: package javax.media.j3d does not exist
import javax.media.j3d.GeometryArray;
                      ^
./Teilchen.java:11: package javax.media.j3d does not exist
import javax.media.j3d.LineStripArray;
                      ^
./Teilchen.java:12: package javax.media.j3d does not exist
import javax.media.j3d.Material;
                      ^
./Teilchen.java:13: package javax.media.j3d does not exist
import javax.media.j3d.Shape3D;
                      ^
./Teilchen.java:14: package javax.media.j3d does not exist
import javax.media.j3d.Transform3D;
                      ^
./Teilchen.java:15: package javax.media.j3d does not exist
import javax.media.j3d.TransformGroup;
                      ^
./Teilchen.java:16: package javax.vecmath does not exist
import javax.vecmath.Color3f;
                    ^
./Teilchen.java:17: package javax.vecmath does not exist
import javax.vecmath.Point3f;
                    ^
./Teilchen.java:18: package javax.vecmath does not exist
import javax.vecmath.Vector3f;
                    ^
./Teilchen.java:20: package com.sun.j3d.utils.geometry does not exist
import com.sun.j3d.utils.geometry.Sphere;
                                 ^



Wie kann ich das so hinbekommen, dass man sich einfach nur die JAR Datei herunterlädt und das Programm direkt unter Windows, Mac OS X sowie Linux (Ubuntu z. B.) mit einer ganz normalen Java Installation funktioniert?


Danke,

frostbyte
 
Zuletzt bearbeitet:
Wird denn das original Java verwendet oder die open-source-alternative?
 
Ich habe gerade openjdk-6-jdk installiert, das wird dann wohl die quelloffene Variante sein. Muss ich das andere, geschlossene nehmen? Welches wäre das?
 
Hallo,

[Ich habe gerade openjdk-6-jdk installiert, das wird dann wohl die quelloffene Variante sein. Muss ich das andere, geschlossene nehmen? Welches wäre das?

Das Package mit dem Sun/Oracle hat üblicherweise sun im Namen. Bei Debian heißt das Package z.B. sun-java6-jdk. Einige Distribution haben auch gar kein closed Source JDK mehr in den offiziellen Repositories.

Zum Teil scheint auch so zu sein, dass die Java 3D-API nicht Teil des JDK-Packages ist, sondern ein separat zu installierendes Package. Bei Ubuntu heißt das Package z.B. libjava3d-java.

Gruß

Stareagle
 
Zuletzt bearbeitet:

Zurück
Oben