java 3D zum laufen bringen

tanzverfuehrung

Bekanntes Mitglied
Ich wollte einfach mal ein einfaches 3DProgramm ausprobieren und wollte dem tutorial folgen!
Ich habe hier java3D gedownloaded.

Mein erstes Problem liegt darin, das ich nicht weiß, ob es reicht, wenn ich ein Java-Project anlege oder muss es ein Plugin-Project sein?

Ich habe es jetzt mit beidem versucht und habe den grundcode aus dem tutorial rein kopiert.

bei dem plugin-project habe ich in der manifest bei depenencies das java3d.jar hinzugefügt
und somit lässt es sich schon mal complilieren.

bei dem java-project und auch bei dem plugin-project habe ich ein 3DLib erstellt mit alle *.jars , die in der ZIp datei waren, hinzugefügt.

Ich kriege jetzt immer eine exception und zwar:
Jan 07, 2013 1:32:18 PM javax.media.j3d.NativePipeline getSupportedOglVendor
Schwerwiegend: java.lang.;🙂 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(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
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 java3dproject.Welt.<init>(Welt.java:31)
at java3dproject.Welt.main(Welt.java:67)

ICh habe schon gegoogelt ohne ende.wo ich dann sowas finde, wie:
To add the jar's to a specific project's classpath:

Right-click (or cmd-click on mac?) your project in the Project Explorer view and choose Properties > Java Build Path > Libraries.
Add the folder "\System\Library\Java\Extensions" by clicking the "Add External Class Folder..." button

EDIT:

I would suggest the following, given that

you have the JDK (version 1.5.0 or higher) installed
you have Eclipse for Java or Java EE developers installed (not Eclipse Classic for example)
you can build a vanilla, HelloWorld Java application already

Basically, it sounds like you might not have added the Java 3D api's to your JRE. The download you linked to in your original question contains a help file named README-unzip.html, which is where I obtained the following instructions from:

aber genau das habe ich ja eigentlich auch gemacht oder?
bzw arbeite ich mit eclipse indigo?ist das der fehler???

bzw habe ich auch gefunden:
Include the .dll file in your system's classpath, and then restart eclipse.

jedoch hatte ich in meiner gedownloadet java3d datei garkiene *.dll datein also habe ich noch hier die java 3d gedownloaded...und habe die *.dll datei unter >Build Path>Configure Build Path>Libararies>Add External Class Folder.... hinzugefügt.
eclipse neu gestartet und alles...jedoch kommt immer wieder diese s***** EXCEPTION!

und ich weiß nicht mehr weiter und bräuchte dringend hilfe!!!!!!!!!;(???:L
 
Mal schrittweise: Nach der Installation von Java3D sollte es ein Verzeichnis geben
C:\Programme\Java\Java3D...
Wenn das schon da ist: OK.

In Eclipse muss man dann nur ein ganz normales Java-Projekt erstellen. Manchmal findet er die JARs dann automatisch, aber das hängt wohl von so vielen Faktoren ab, dass man davon nicht ausgehen kann. Im zweifelsfall muss man unter "Build Path -> Add External JAR" die JARs hinzufügen, die im Java3D/bin-Unterverzeichnis liegen (das ist eigentlich schlecht, weil man sich damit eine Abhängigkeit zu einem fest vorgegebenen Dateipfad einhandelt, aber sollte erstmal compilieren). Kopieren muss man da üblicherweise nichts, weder JARs noch DLLs...
 
Ehrlich gesagt weiß ich gerade nicht, ob ich zuletzt von java.net oder oracle runtergeladen hatte, und ob das beides nicht vielleicht dieselbe Datei ist - auf jeden Fall hatte ich einen Installer (EXE) verwendet. Das Plugin habe ich noch nicht ausprobiert...
 
also ich habe jetzt Java Archive Downloads -Java Client Technologies installiert, und da hatte ich dann auch wirklich eine istallation vorher hatte ich immer nur *.zip ordner....
ich habe deinen schritten gefolgt, jedoch sind bei mir die *.jar's bei mir nicht im Java3D/bin sondern im Java3D\1.5.1\lib\ext . im bin ordner liegen nur *.dll Datein.
Und ich kriege immer noch die die Exception:

Jan 07, 2013 4:01:10 PM 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(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
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 Welt.<init>(Welt.java:18)
at Welt.main(Welt.java:50)

ich habe auch eine datei j3dcore-ogl-chk.dll im /bin ordner.Jedoch weiß ich nicht was ich damit tun soll???:shock:
 
Jetzt solltest du in Eclipse links bei "Referenced Libraries" die Java3D-Jar rechtsklicken können, und dort dann irgendwo die "Native Library Location" festlegen können, auf genau diesen ordner. (Nochmal: Das könnte man ggf. auch "schöner" machen, aber ... damit's erstmal läuft...)
 
Jetzt solltest du in Eclipse links bei "Referenced Libraries" die Java3D-Jar rechtsklicken können, und dort dann irgendwo die "Native Library Location" festlegen können, auf genau diesen ordner. (Nochmal: Das könnte man ggf. auch "schöner" machen, aber ... damit's erstmal läuft...)

ich habe drei *.jar datein
vecmath.jar
j3dcore.jar
j3dutils.jar

soll ich bei allen drei *.jar datein die "Native Library Location" festlegen ??
oder reicht das, wenn ich das bei einer mache?und ist egal bei welcher?

es funktioniert aufjedenfall schon und ich danke dir:toll::applaus:
 
Ich habe jetzt noch eine Lösung gefunden, dass die exception nicht mehr auftritt und wollte fragen, ob die nun besser ist?

In der "Run Configuration" des Eclipse-Projekts wird auf dem Karteireiter "Environment" eine neue Environment Variable "PATH" zugefügt, die auf das "bin"-Verzeichnis der Java3D-Implementation zeigt.


so funktioniert es aufjedenfall auch :idea:
 
Ja, das wäre eine der angedeuteten alternativen Möglichkeiten. Eine weitere ist, bei den VM-Arguments den -Djava.library.path=... anzugeben. (Eigentlich dachte ich, dass der Installer das Verzeichnis direkt zum PATH hinzufügt, aber bei neueren Versionen machte er das glaub' ich nicht mehr... :bahnhof: )
 

Zurück
Oben