Java3d Classpath?!?

Capico

Mitglied
Hallo Leute,

habe seit längerem mal mich wieder ans Programmieren mit Java gesetzt.
Nun habe ich festgestellt, dass meine Java3d Progs nicht mehr laufen.
Ich denke irgendwas muss nun mit dem Classpath eingestellt werden.

Früher (vor 3-4 Jahren) habe ich einfach das JDK und java3d installiert gehabt.
Den Ordner vom JDK noch als Path (Arbeitsplatz rechtsklick -> Erweiterte Systemeinstellungen-> Erweitert -> Umgebungsvariablen) gesetzt und fertig.
Heute (mit Windows 7 64bit Home) klappt das irgendwie nicht mehr.
Weder die alten Progs laufen noch kann ich irgendwas mit java3d kompilieren.
Weder aus der Konsole heraus noch mittels Eclipse.

Habe jdk1.6.0_24 und Java3d\1.5.2 drauf.

Kann mir wer helfen?

Andreas

P.S.: Im Forum hab ich durch die Suche nix gefunden
 

Marco13

Top Contributor
Welches JDK hast du, 32 oder 64 bit? Ich meine, ich hätte damals auch auf ein 32bit JDK umstellen müssen, aber hatte das nur schnell hingefrickelt. Auf jeden Fall kannst du in Eclipse sagen, wo die referenzierten JARs liegen (Project Build Path...)
 

Capico

Mitglied
Ich habe in Eclipse nun die Project Build Path (project -> properties -> java build path -> add external jars) gesetzt.
Es funktioniert!! Danke für deine Antwort!

Allerdings kann ich im cmd mittel "java GUI" immer noch nicht die Programme starten.
Kann man das mit dem "build path" auch irgendwie global festsetzten um per konsole zu kompilieren zu können?

Eine weitere gute Idee ist es, Java3d irgendwie "dazu zu kopieren" damit jeder mit nem JRE auch meine Programme verwenden kann.

Ich finde absolut nicht, ob ich eine 32 oder 64bit Version von Java habe. Es ist unter
C:\Program Files\Java\jdk1.6.0_24
installiert und ich hab den Installer leider auch nicht mehr.

Gruß Andreas
 

innoc

Aktives Mitglied
Hallo Capico,

ich hoffe das hilft:
Ich habe JAVA3D unter Windows XP am Laufen. Das Home-Verzeichnis ist bei mir: C:\Programme\Java\Java3D\1.5.2 und in Classpath habe ich für JAVA3D folgendes eingetragen: C:\Programme\Java\Java3D\1.5.2\lib\ext\j3dcore.jar;C:\Programme\Java\Java3D\1.5.2\lib\ext\j3dutils.jar;C:\Programme\Java\Java3D\1.5.2\lib\ext\vecmath.jar
Zumindest bei der Version 1.5.2 kann ich über die Konsole mittels javac NAME.java erfolgreich kompilieren.
Das folgende Programm zum Testen z.b. über javac BouncingBall.java
Java:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Panel;
import java.awt.GraphicsConfiguration;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import javax.swing.Timer;

import javax.media.j3d.BoundingSphere;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.Transform3D;
import javax.media.j3d.TransformGroup;
import javax.media.j3d.Canvas3D;
import javax.media.j3d.DirectionalLight;
import javax.media.j3d.AmbientLight;
import javax.vecmath.Vector3f;
import javax.vecmath.Vector3d;
import javax.vecmath.Point3d;
import javax.vecmath.Color3f;

import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.geometry.Sphere;
import com.sun.j3d.utils.universe.SimpleUniverse;

public class BouncingBall extends Applet implements ActionListener, KeyListener {

  private Button go = new Button("Go");
  private TransformGroup objTrans;
  private Transform3D trans = new Transform3D();
  private float height = 0.0f;
  private float sign = 1.0f;  // going up or down
  private Timer timer;
  private float xloc = 0.0f;

  public BranchGroup createSceneGraph() {

    // Create the root of the branch graph
    BranchGroup objRoot = new BranchGroup();
    objTrans = new TransformGroup();
    objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    objRoot.addChild(objTrans);

    // Create a simple shape leaf node, add it to the scene graph
    Sphere sphere = new Sphere(0.25f);
    objTrans = new TransformGroup();
    objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    Transform3D pos1 = new Transform3D();
    pos1.setTranslation(new Vector3f(0.0f, 0.0f, 0.0f));
    objTrans.setTransform(pos1);
    objTrans.addChild(sphere);
    objRoot.addChild(objTrans);
    BoundingSphere bounds = new BoundingSphere(new Point3d(0.0, 0.0, 0.0), 100.0);
    Color3f light1Color = new Color3f(1.0f, 0.0f, 0.2f);
    Vector3f light1Direction = new Vector3f(4.0f, -7.0f, -12.0f);
    DirectionalLight light1 = new DirectionalLight(light1Color, light1Direction);
    light1.setInfluencingBounds(bounds);
    objRoot.addChild(light1);
    
    // Set up the ambient light
    Color3f ambientColor = new Color3f(1.0f, 1.0f, 1.0f);
    AmbientLight ambientLightNode = new AmbientLight(ambientColor);
    ambientLightNode.setInfluencingBounds(bounds);
    objRoot.addChild(ambientLightNode);
    return objRoot;

  }

  public BouncingBall() {
    
    setLayout(new BorderLayout());
    GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
    Canvas3D c = new Canvas3D(config);
    add("Center", c);
    c.addKeyListener(this);
    timer = new Timer(100, this);
    Panel p = new Panel();
    p.add(go);
    add("North", p);
    go.addActionListener(this);
    go.addKeyListener(this);

    // Create a simple scene and attach it to the virtual universe
    BranchGroup scene = createSceneGraph();
    SimpleUniverse u = new SimpleUniverse(c);
    u.getViewingPlatform().setNominalViewingTransform();
    u.addBranchGraph(scene);

  }

  public void keyPressed(KeyEvent e) {

    // Invoked when a key has been pressed
    if (e.getKeyChar() == 's') { xloc = xloc + .1f; }
    if (e.getKeyChar() == 'a') { xloc = xloc - .1f; }

  }

  public void keyReleased(KeyEvent e) {

    // Invoked when a key has been released

  }


  public void keyTyped(KeyEvent e) {

    // Invoked when a key has been typed

  }

  public void actionPerformed(ActionEvent e) {

    // Start timer when button is pressed
    if (e.getSource() == go) {
      if (!timer.isRunning()) {
        timer.start();
      }
    } else {
      height += .1 * sign;
      if (Math.abs(height * 2) >= 1) sign = -1.0f * sign;
      if (height < -0.4f) {
        trans.setScale(new Vector3d(1.0, .8, 1.0));
      } else {
        trans.setScale(new Vector3d(1.0, 1.0, 1.0));
      }
      trans.setTranslation(new Vector3f(xloc, height, 0.0f));
      objTrans.setTransform(trans);
    }

  }

  public static void main(String[] args) {

    System.out.println("Program started");
    BouncingBall bouncingBall = new BouncingBall();
    bouncingBall.addKeyListener(bouncingBall);
    MainFrame mainFrame = new MainFrame(bouncingBall, 256, 256);
  
  }

}
 

Capico

Mitglied
Hi,

danke für deine Antwort.
Das Kompilieren klappt nun:
[JAVA=1]C:\Users\Andreas\Desktop\Test>javac BouncingBall.java

C:\Users\Andreas\Desktop\Test>dir
Volume in Laufwerk C: hat keine Bezeichnung.
Volumeseriennummer: FC47-4515

Verzeichnis von C:\Users\Andreas\Desktop\Test

11.04.2012 07:27 <DIR> .
11.04.2012 07:27 <DIR> ..
11.04.2012 07:30 4.327 BouncingBall.class
11.04.2012 07:27 4.512 BouncingBall.java
2 Datei(en), 8.839 Bytes
2 Verzeichnis(se), 14.888.620.032 Bytes frei

C:\Users\Andreas\Desktop\Test>[/code]


Jedoch kann ich das Programm nicht laufen lassen:
[JAVA=1]C:\Users\Andreas\Desktop\Test>java BouncingBall
Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/j3d/Canva
s3D
Caused by: java.lang.ClassNotFoundException: javax.media.j3d.Canvas3D
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: BouncingBall. Program will exit.

C:\Users\Andreas\Desktop\Test>[/code]

Gruß Andreas
 

Capico

Mitglied
Hab gerade festgestellt, dass die Klasse BouncingBall auch unter Eclipse nicht läuft:

[JAVA=1]Program started
11.04.2012 07:41:31 javax.media.j3d.NativePipeline getSupportedOglVendor
SCHWERWIEGEND: java.lang.UnsatisfiedLinkError: no j3dcore-ogl-chk in java.library.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-d3d in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
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 BouncingBall.<init>(BouncingBall.java:75)
at BouncingBall.main(BouncingBall.java:139)[/code]

Mein vorher getestetes Programm mit Eclipse hatte lediglich die Funktionen von vecmath.jar verwendet. Das ging problemlos. Hmm...
Falls es wichtig ist: Ich habe einen AMD Prozessor (AM3), eine Ati Grafikkarte (5000 Series) und DDR3 Speicher.

Gruß Andreas
 

innoc

Aktives Mitglied
Hallo Capico,

ich habe bei mir die Pfade überprüft, dabei ist mir aufgefallen, dass ich die folgenden jars: j3dcore.jar, j3dutils.jar und vecmath.jar auch nach C:\Program Files\Java\jre6\lib\ext\ kopiert habe, um sie java bekannt zu machen. Vielleicht hilft das ja weiter.

Gruß Innoc
 

Capico

Mitglied
Hallo,

vielen vielen Dank für eure Antworten!!!
Ich hab es nun auch endlich geschafft das ganze zum laufen zu bringen.

Folgende Dinge habe ich festgestellt / gemacht:
- Ich habe als jdk wohl die 64bit version drauf, da es im Ordner unter
C:\Program Files\Java\jdk1.6.0_24 ist.
- Als JRE habe ich sowohl 32bit wie 64bit drauf:
C:\Program Files\Java\jre6
C:\Program Files (x86)\Java\jre6
- Java3d gibt es sowohl als 32bit als auch als 64bit Version:
j3d-1_5_2-windows-amd64.exe
j3d-1_5_2-windows-i586.exe
- j3dcore.jar, j3dutils.jar und vecmath.jar habe ich aus java3d auch nach
C:\Program Files\Java\jdk1.6.0_24\jre\lib\ext kopiert.
- Im Eclipse habe ich die jars als "Project Build Path" eingefügt. Etwas nervig ist, dass ich das
scheinbar für jedes Projekt machen muss.
- Beim installieren von Java3d habe ich nun mit rechtsklick "als Administrator ausführen" installiert.
- j3dcore-ogl-chk.dll, j3dcore-ogl-cg.dll, j3dcore-ogk.dll und j3dcore-d3d.dll habe ich aus
Java3d (32bit)
nach C:\Program Files\Java\jdk1.6.0_24\jre\bin und C:\Program Files (x86)\Java\jre6\bin kopiert
Bei der 64bit Version von Java3d gibt es meine ich nur die j3dcore-ogl.dll.
- Im Path Befehl (Umgebungsvariablen)
habe ich die bin-Verzeichnisse von Java und Java3d. Ebenfalls auch die .jar sind drin.

Also im Grunde habe ich alle eure Tipps berücksichtigt und etwas hin und her gefummelt, denn Eclipse scheint das 32bit JRE zu benutzen und unter cmd wird das 64bit JRE benutzt bei mir. Die angegebenen Punkte habe ich nicht genau in der Reihenfolge gemacht. Im Moment werden auch Dateien von Java3d 64bit und 32bit verwendet, da Eclipse und cmd andere JRE benutzen. Ist jetzt irgendwie alles so hingefummelt. Nicht schön aber beides läuft.

@Innoc:
Du hast am 10.04.2012 21:41 geschrieben
in Classpath habe ich für JAVA3D folgendes eingetragen: C:\Programme\Java\Java3D\1.5.2\lib\ext\j3dcore.jar;C:\Programme\Java\Java3D\1.5.2\lib\ext\j3dutils.jar;C:\Programme\Java\Java3D\1.5.2\lib\ext\vecmath.jar
Ist das der Path Befehl (Umgebungsvariablen) oder kann ich das noch woanders einstellen?

Andreas
 
Zuletzt bearbeitet:

innoc

Aktives Mitglied
Sorry Capico,

ich habe keinen Hinweis mehr in meinen E-Mails erhalten, dass ein neuer Eintrag in dem Thread gepostet wurde. Ich habe die Classpatheinträge manuell eingetragen, also Rechtsklick auf Arbeitsplatz, da Umgebungsvariablen wählen und die Einträge ans Ende der bestehenden classpath-Einträge einfügen und mit Semikolon als Trennzeichen. Hoffe die Info kommt noch an, aber ich denke: Du hast das selbst schon erledigt.

Gruß Innoc
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Suche Java3D 32 bit Java Basics - Anfänger-Themen 20
K Wer braucht die Java3d Bins ? Java Basics - Anfänger-Themen 1
Ruvok Java3D Problem Java Basics - Anfänger-Themen 4
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
W Java3D Sphere Java Basics - Anfänger-Themen 8
M Java3D TransformChanged nullpointer ??? Java Basics - Anfänger-Themen 2
J Webseiten mit Java3D? Java Basics - Anfänger-Themen 19
K Polygon in Java3D (Java 3D) zeichnen Java Basics - Anfänger-Themen 4
P Java3D installieren Java Basics - Anfänger-Themen 4
L Java3d und Rotation Java Basics - Anfänger-Themen 6
Developer_X KeyListener Actions (hat mit Java3D zu tun) Java Basics - Anfänger-Themen 20
S Java3d und textpad Java Basics - Anfänger-Themen 4
S 3d-game java3d/eigene API Java Basics - Anfänger-Themen 4
L Best Practice Annotierte Klassen im Classpath herausfinden Java Basics - Anfänger-Themen 1
Michi__ Modulepath und Classpath fehlen Java Basics - Anfänger-Themen 2
A CLASSPATH Java Basics - Anfänger-Themen 4
L Classpath Alle Dateien im Classpath finden Java Basics - Anfänger-Themen 4
T Java - Zugriff nur mit CLASSPATH ? Java Basics - Anfänger-Themen 7
A Class not found - Jar liegt am classpath Java Basics - Anfänger-Themen 2
J .classpath und .project? Java Basics - Anfänger-Themen 1
M Classpath Befehl zum Kompilieren um die Option classpath erweitern. Java Basics - Anfänger-Themen 5
N Eclipse - eigene Icons unter ClassPath Resource Java Basics - Anfänger-Themen 0
C Die CLASSPATH Variable Java Basics - Anfänger-Themen 1
S Classpath: Alle .jars innerhalb eines Ordners einbinden Java Basics - Anfänger-Themen 4
S Classpath Findet die Klasse nicht classpath setzen? Java Basics - Anfänger-Themen 8
T File aus Classpath verwenden Java Basics - Anfänger-Themen 3
M Unterschied zwischen Classpath eines Eclipse Projektes und dem CLASSPATH? Java Basics - Anfänger-Themen 3
F Classpath Dateien einbinden und Classpath durchsuchen Java Basics - Anfänger-Themen 2
Q Classpath mit Text Editor progammieren (Classpath) Java Basics - Anfänger-Themen 5
B Umgebungsvariable + Classpath Java Basics - Anfänger-Themen 2
V Erste Schritte Ausführen mit cmd + Classpath Java Basics - Anfänger-Themen 13
H Classpath Eclipse? Java Basics - Anfänger-Themen 13
L Classpath anlegen Java Basics - Anfänger-Themen 6
P Classpath falscher Classpath, aber nicht immer Java Basics - Anfänger-Themen 19
H Classpath konnte nicht gefunden werden? Java Basics - Anfänger-Themen 2
M Classpath Jar nicht ausführbar, Classpath warscheinlich falsch Java Basics - Anfänger-Themen 10
M Classpath Java Basics - Anfänger-Themen 11
D Classpath compiler zur Laufzeit aufrufen & lib-classpath Java Basics - Anfänger-Themen 6
C Classpath Classpath in Jar Dateien Java Basics - Anfänger-Themen 15
J Classpath Java Basics - Anfänger-Themen 9
S ClassPath Java Basics - Anfänger-Themen 12
Z CLASSPATH + Packages Java Basics - Anfänger-Themen 6
J classpath Java Basics - Anfänger-Themen 10
S import - Anweisung; Setzen der Classpath Java Basics - Anfänger-Themen 2
J Frage zu jars/classpath Java Basics - Anfänger-Themen 7
K MySQL, Classpath, Java, MAC OSX Java Basics - Anfänger-Themen 3
D Classpath setzen Java Basics - Anfänger-Themen 4
J Classpath bestimmen, unter Windows 7 Java Basics - Anfänger-Themen 2
E Classpath Java Basics - Anfänger-Themen 4
B XOM...Classpath etc.??? Java Basics - Anfänger-Themen 2
L set Classpath für JDK Java Basics - Anfänger-Themen 2
L Lucene Classpath unter linux setzen Java Basics - Anfänger-Themen 8
B Classpath setzen - UNTER MAC OS X Java Basics - Anfänger-Themen 2
J classpath funktioniert nur in eclipse nicht auf der konsole?! Java Basics - Anfänger-Themen 6
P ClassPath in Ubuntu Java Basics - Anfänger-Themen 4
S dauerhafte CLASSPATH-Umgebungsvariable Java Basics - Anfänger-Themen 3
E Classpath Frage Java Basics - Anfänger-Themen 2
C Textpad, classpath, java = Probleme Java Basics - Anfänger-Themen 21
F probleme mit classpath/auslagerung von klassen Java Basics - Anfänger-Themen 5
L Classpath-Probleme Java Basics - Anfänger-Themen 2
A Classpath im manifest einbinden? Java Basics - Anfänger-Themen 3
GilbertGrape findet jar aus Classpath nicht Java Basics - Anfänger-Themen 4
Z Ant java -classpath befehl Java Basics - Anfänger-Themen 2
G Wo fnde ich den classpath, um dort z.b. eine html abzulegen? Java Basics - Anfänger-Themen 13
G Classpath Problem Java Basics - Anfänger-Themen 4
F Classpath problem Java Basics - Anfänger-Themen 2
G Classpath . zum Xten Mal Java Basics - Anfänger-Themen 16
G Plugins einbinden und Classpath setzen Java Basics - Anfänger-Themen 4
F Classpath: Wichtig für Runnable JAR? Java Basics - Anfänger-Themen 2
G unbound classpath container Java Basics - Anfänger-Themen 1
J Anfänger-Frage zu jar-Files / Manifest.mf / Classpath Java Basics - Anfänger-Themen 16
G Java mit libs und classpath? Java Basics - Anfänger-Themen 5
P JAR erzeugen-CLASSPATH-Probleme Java Basics - Anfänger-Themen 4
S CLASSPATH in Windows Java Basics - Anfänger-Themen 8
G JDBC - Classpath - Ich werd wahnsinnig! Java Basics - Anfänger-Themen 18
N Frage zur Classpath-Variable in der Manifest-Datei Java Basics - Anfänger-Themen 7
S CLASSPATH-Fehler Java Basics - Anfänger-Themen 8
K classpath eintrag funktioniert nicht Java Basics - Anfänger-Themen 8
T [Dringend] Classpath-Problem Java Basics - Anfänger-Themen 3
G Probleme mit JAVA_HOME bzw. classpath Java Basics - Anfänger-Themen 12
W classpath / jar / Programm aus Konsole Starten Problem Java Basics - Anfänger-Themen 2
G Eclipse, FatJar, Export, Classpath Java Basics - Anfänger-Themen 13
M Mal wieder der classpath. Java Basics - Anfänger-Themen 13
C Probleme mit .jar Datei und CLASSPATH Java Basics - Anfänger-Themen 2
G Classpath richtig setzen Java Basics - Anfänger-Themen 4
Q Classpath nach dem Deployen - Manifest-File Java Basics - Anfänger-Themen 4
T kopieren in den classpath Java Basics - Anfänger-Themen 4
F Frage zu Jars und Classpath Java Basics - Anfänger-Themen 2
D classpath setzen Java Basics - Anfänger-Themen 10
G Leidiges Thema Classpath Java Basics - Anfänger-Themen 5
C jar in jar - Classpath? Java Basics - Anfänger-Themen 12
D Applet starten (Classpath ? ) Java Basics - Anfänger-Themen 7
Z Jar-Archiv Classpath Variable Java Basics - Anfänger-Themen 6
L Classpath Java Basics - Anfänger-Themen 4
Q [javac] Zu blöd für -classpath? Java Basics - Anfänger-Themen 2
G Classpath JUnit geht net (?) Java Basics - Anfänger-Themen 11
A classpath zur Laufzeit erweitern Java Basics - Anfänger-Themen 4
H CLASSPATH unter j2sdk1.4.2_10 Java Basics - Anfänger-Themen 2
P Absolute Verzweiflung: Linux + Java + CLASSPATH Java Basics - Anfänger-Themen 8
G Wie muss classpath lauten? Package kompilieren/interpretiere Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben