Fat Jar mit externen Bibliotheken

bob_sheknowdas

Aktives Mitglied
Hi,
ich habe ein bischen was mit java3D programmiert und versuche daraus jetzt ein jar-File zu erstellen.
Leider funktioniert das nicht, das erstellte File lässt sich nicht starten.
Ich habe mit dem Fat Har Plugin schon mehrere Files erstellt, die auch immer funktioniert haben. Allerdings gab es sonst nie externe Bibliotheken die man hätte einbinden müssen (so wie jetzt die j3d Bibliothek).
Kann mir vllt jemand einen Hinweis geben, worauf ich achten muss, damit meine Files ausführbar sind?

Vielen Dank im Vorraus.
 
genügt da nicht einfach ein Klick auf Export in Eclipse? Hab das bisher immer so gemacht.
Da kann man dann auswählen, wie die Bibliotheken integriert werden sollen
 
Also ich hab mir jetzt extra Java 3D runtergeladen und die BuildPath´s geändert, aber die lib cv97r140 existiert bei mir nicht.
Wo kommt die her?

Edit:

Ok hab die Datei jetzt runtergeladen, eingebunden, Jar extrahiert und es funktioniert alles. Die jar lässt sich ausführen

Hast du beim Export die richtige Launchconfig ausgewählt?
 
Zuletzt bearbeitet:
sicher dass du jar files mit javaW und nicht mit java öffnest?
Weiß nicht, denke aber nicht da java eh platformunabhängig ist. Ich kann mich aber auch irren

Wenn die Jar von mir nicht geht, dann wird beim ausführen irgendwas schieflaufen.

Kannst sie ja mal über die Konsole öffnen und schauen was passiert, dazu einfach mit cd zum richtigen Pfad wechseln (wenn dus einfach haben willst, kopier die jar direkt in den Rootfolder deiner Festplatte, und wechsle mit cd C:\ dorthin)

ausführen funktioniert dann mit "javaw.exe -jar SpaceShooter.jar"
 
wiegesagt: rechtsklick auf die jar->eigenschaften->öffnen mit, da auf Ändern->unten rechts auf Durchsuchen->java->jr6/7->bin und da MUSS sie drin sein. außer du hast java irgendwo anders hin installiert
 
da ist sie auch, aber ich kann sie nicht als gültiges Programm zum Dateiöffnen auswählen...
Beim Doppelklick drauf schließt er zwar das Durchsuchen-Fenster, hat dann aber wieder das Standartjava selektiert...
 
Dann würde ich java nochmal neu installieren, obwohl ich nicht wirklich glaube dass es was bringt.
Ansonsten kann ich dir auch nicht weiterhelfen sry
 
@Robokopp: Deine Jar funktioniert bei mir auch nicht, da j3dcore-ogl-chk fehlt:
Java:
Apr 27, 2012 3:27:41 PM javax.media.j3d.NativePipeline getSupportedOglVendor
Schwerwiegend: java.lang.UnsatisfiedLinkError: no j3dcore-ogl-chk in java.librar
y.path
Exception in thread "main" java.lang.UnsatisfiedLinkError: no j3dcore-d3d in jav
a.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 javax.media.j3d.Canvas3D.<clinit>(Canvas3D.java:3862)
        at MainPackage.Spiel.<init>(Spiel.java:19)
        at MainPackage.Spiel.main(Spiel.java:27)

P.S. Ansonsten funtkionieren bei mir im übrigen alle ausführbare Jars, sowohl meine selbst erstellten, als auch welche aus dem Forum.
 
ah okay irgendwie logisch 😀

Also Zusammenfassung:
-Beim Threadersteller funktioniert es nicht per doppelklick, per Konsole allerdings schon und ohne Fehlermeldungen
-Bei dir funktioniert es nicht per doppelklick, und per Konsole gibts ne Fehlermeldung
-Bei mir funktioniert es per doppelklick und per Konsole ohne Fehler

Ich weiß nicht ob es an der Jar liegt, denn wäre dort irgendwas "defekt", würde sie ja beim Threadersteller auch nicht laufen, selbst über die Konsole nicht, und bei mir dürfte sie dann theoretisch auch nicht laufen.

Was für ein OS benutzt du?(GUI-Programmer)
Vlt läuft auch was beim Classloader schief, aber das ist nur eine leere Vermutung
 
@Robokopp:
Windows 7 Home Premium 64 Bit. Aber vielleicht stimmt bei meiner Grafik auch etwas nicht, siehe Java7: Faszination File AIO ... - allerdings funktioniert bei mir Minecraft perfekt (~80 FPS) welches imho auch OpenGL verwendet. Meine Java Versionen sind Java 7 Update 3, sowohl mit 64 Bit als auch mit 32 Bit getestet.

@TO:
Versuch doch einfach mal meine Programme aus meiner Signatur bspw. zu starten.
 

Zurück
Oben