3D-Grafik Java3D

Enigma228

Bekanntes Mitglied
Hi..

Wollte mal in die 3D Welt reinschnuppern und habe das Programm unten gefunden und ausprobiert.
Leider gibt mir die Ausführung folgenden Fehler:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-ogl 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:189)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:180)
at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:137)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:948)
at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:280)
at Hello3d.<init>(Hello3d.java:13)
at Hello3d.main(Hello3d.java:27)

ich hab ein bißchen gegooglet und gefunden das ich die 3D Jar Dateien j3dcore.jar, j3dutils.jar und vecmath.jar als externe Jar Files in mein Projekt (mit Eclipse Helios geschrieben) integrieren muss.
Hatte ich aber schon getan.
Ich habe Java3D ver.1.5.1 installiert gehabt und wie gesagt arbeite ich mit Eclipse Helios auf Vista 64Bit.
Ich habe Hinweise gefunden, das ich auch die dll-Datei: j3dcore-ogl.dll bekanntmachen muss, aber ich weiss nicht wie?

Hat jemand eine IDEE??

Programm:
Java:
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();

}

} // end of class Hello3d
 
Mögliche Ansätze:
- Bei den Run Configurations als VM-Startparameter den java.library.path passend setzen
- Rechtsklick auf die JAR, ein bißchen suchen, da kann man irgendwo die "Native Library Location" für eine JAR einstellen (ggf. schau ich nochmal, wo das war)
- Eigentlich sollte das alles nicht nötig sein - hast du mehrere JREs/JDKs installiert? Wie und wo ist Java3D installiert? Welche JRE/JDK wird von Eclipse verwendet?
 
zu:
"- Rechtsklick auf die JAR, ein bißchen suchen, da kann man irgendwo die "Native Library Location" für eine JAR einstellen (ggf. schau ich nochmal, wo das war)"
habe ich gefunden(gleich bei Projekterstellung Jar Dateien einbinden und dann Dateien über das Plus erweitern.. da ist der Eintrag "Native Library Location" den editieren für jede Jar usw. ) und probiert:
1.Pfad der Jar-Datei -> Kein Erfolg
2. Pfad der j3dcore-ogl.dll -> Kein Erfolg

Java ist unter
C:\Programme\Java\jdk1.6.0_23
C:\Programme\Java\jre6
C:\Programme\Java\Java3D\1.5.1

installiert und es gibt nur die eine!!!
 
Hm. Hab's gerade nochmal hier getestet, und es funktioniert (ohne dass irgendwas irgendwo eingestellt werden muss). Könnte das ein Problem mit 32/64 bit sein? Du hast wohl das JRE und Java3D in der 64bit-Version installiert? Liegt unter "C:\Program Files (x86)\" vielleicht noch ein "Java"-Ordner mit JRE? Was ist denn unter "Run Configurations" im Tab "JRE" eingestellt? Hast du schon versucht, ihm bei den VM parametern mit dem java.library.path direkt den richtigen Weg zu zeigen?
 
Ich denke mal an der JRE selbst liegt es nicht.. denn sonst müssten auch eclipse und meine bisherigen Projekte nicht mehr funktionieren..
Eclipse ist die 64 Bit Version und bei Java3D habe ich ebenfalls die 64Bit Version installiert
Java ist nur im Programme (und nicht im Programme(x86)) Ordner installiert.
Unter den "Run Configurations" im Tab "JRE" habe ich sogar nochmal auf die richtige JRE verwiesen..

"Hast du schon versucht, ihm bei den VM parametern mit dem java.library.path direkt den richtigen Weg zu zeigen? "
Wie macht man das?

Mein Workspace mit dem Projekt ist
c:\Workspace_helios\zeichnen3d_
 

Zurück
Oben