Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
SWT - Wie Windows erstelltes .jar auf einem MAC ausführen?
ich muss eine auf einem windows pc erstellte arbeit in ein .jar file kompilieren und der empfänger benutzt einen mac. ich habe mal gelesen, dass es da zu problemen kommen kann beim ausführen. jedoch weiß ich nicht, wie ich das verhindern könnte. kann man das irgendwie abfangen? wenn ja, wie?
ich bin grad echt verzweifelt. ich kriegs net hin. ich muss meine anwendung mit ant kompilieren laut vorgabe und ich weiß nicht, was ich für dateien / ordner wohin kopieren muss, damit alles dabei ist. ich habe im buildpath meines projektordner unter SWT insgesamt 4 .jar archive stehen
wenn ich diese jetzt in den lib ordner meines projektes lege, reicht das? und wie genau muss ich das austauschen, was du meintest? ich hab mir den ordner swt-3.3.1.1-carbon-macosx runtergeladen da ist nur ne swt.jar und ne swtdebug.jar enthalten. was muss ich jetzt genau holen und in welcher form wohin legen?
bitte entschuldigt, falls euch das zu einfach vor kommt, aber ich hab noch nie eine anwendung in ein jar exportiert und erst garnicht mit externen bibliotheken und ich will nicht, dass das ding bei meinem prof net läuft und ich durchfalle. bin echt sehr in panik, weil in 2,5 stunden abgabe ist und noch lange kein ende in sicht ist - vieles läuft schief......
muss ich in der musterdatei noch was ändern? dazu steht in der anleitung nix. da steht nur ich soll das in eine build.xml schreiben und dann ein kommando aufrufen. muss ich da was austauschen?
aktuell funktioniert das nicht. ich hab in zeile 1 unter "MeinProjekt" den namen des projektordners eingegeben und in zeile 2 unter "MeineAnwendung" den gewünschten programmnamen. und ich bekomme für den befehl ant -f build-jar.xml die fehlermeldung
In 2 Stunden? Denke nicht das du das noch schaffst. Du musst Standalone SWT runterladen, den Library Path setzen, den Class-Path ins Manifest aufnehmen und kannst es für Macs nichtmal testen.
Vielleicht hilft dir diese Anleitung: http://eclipsewiki.editme.com/CreateStandAloneApplication
also wenn ich mich beeile, schaff ichs vielleicht noch. erste versuche, zu kompilieren, glückten zwar, aber ich bekomme probleme beim starten der anwendung. das des integrierten logwriters weiß ich ,dass es daran liegt
org.eclipse.swt.SWTException: i/o error (java.io.FileNotFoundException: file:\E:\Studium\EclipseWorkspace\ProjectControl\MeineAnwendung.jar!\de\prog3SemesterAufgabe\tb\icons\pageWhite.png (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch))
at org.eclipse.swt.SWT.error(SWT.java:3563)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.graphics.ImageLoader.load(ImageLoader.java:156)
at org.eclipse.swt.graphics.ImageDataLoader.load(ImageDataLoader.java:26)
at org.eclipse.swt.graphics.ImageData.<init>(ImageData.java:374)
at org.eclipse.swt.graphics.Image.<init>(Image.java:729)
at de.prog3SemesterAufgabe.tb.GUI$ShellMenu.<init>(GUI.java:478)
at de.prog3SemesterAufgabe.tb.GUI.createContents(GUI.java:112)
at de.prog3SemesterAufgabe.tb.GUI.open(GUI.java:83)
at de.prog3SemesterAufgabe.tb.GUI.main(GUI.java:58)
Caused by: java.io.FileNotFoundException: file:\E:\Studium\EclipseWorkspace\ProjectControl\MeineAnwendung.jar!\de\prog3SemesterAufgabe\tb\icons\pageWhite.png (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at org.eclipse.swt.internal.Compatibility.newFileInputStream(Compatibility.java:157)
at org.eclipse.swt.graphics.ImageLoader.load(ImageLoader.java:153)
... 7 more
Die Bilder liegen im jar. Du scheinst aber zu versuchen mit der File API darauf zuzugreifen. Das kann nicht funktionieren, da es keine Dateien, sondern Entries in einer jar sind.
getClass().getResourceAsStream
ich hab nicht verstanden, was ich ändern muss. ich bin mit dieser sachen noch total unerfahren. ich bin allgemein noch total unerfahren. ich verstehe die zusammenhänge nicht und weiß nicht, ob ich jetzt was in meiner build.xml ändern muss oder meiner mainfest.txt . das ist das problem. ich bin wirklich gewillt, das zu lernen und zu verstehen. im augenblick (T-60 min) hilft mir nur noch ne klare ansage, was ich wo ändern muss. damit es endlich läuft...
wie kann ichs sonst lösen und dabei relativ bleiben? und warum läuft es so in eclipse? PS: für mein laienhaftes verständnis ist ein bild eine datei
:bahnhof:
Und ja, in deinem Fall ist dein Bild natürlich eine Datei, aber dann packst du alles in ein zip (bzw. jar) und damit ist es keine Datei mehr, sondern ein Eintrag in deinem Zip Archiv. Yet another bunch of bytes...
nope, aber nachdem ich das jetzt gemacht hab, hab ich die jnilib dateien alle im lib folder zusammen mit der *carbon*.zip und den übrigen 4 .jars - außerdem hab ich aus der swt-3.3.1.1-carbon-macosx.zip noch die swt.jar mit ins lib gelegt und in die mainfest geaddet. aber es geht immernoch nicht. der meckert immernoch über diese dateien obwohl ich die manifest.txt angepasst hab
du sagtest vorhin, ich müsse lediglich die nativen Bibliotheken austauschen. wie mache ich das? und wenn ich die austausche, fehlen sie dann nicht für windows?
leg sie doch daneben und setz das property java.library.path oder swt.library.path, oder kopier alles in java/bin.
Wie gesagt, laufen wird es sowie nicht mit dem Mac Kompilat
ich verstehe nicht, was du meinst mit daneben und dem property. wo daneben und welches property? ich hab auch keinen ordner java/bin. ich hab jetzt alle files aus dem lib ordner nach jdk/bin und jre/bin kopiert. das sind im ganzen diese
aber es will einfach nicht laufen wegen dieser doofen *carbon* sache. ich blick da echt nicht durch. hätte im leben nicht gedacht, dass das sooooo kompliziert ist
würde nach wie vor gern noch wissen, was du zuletzt gemeint hast. ich bin der einzige in meinem kurs, der die gui mit swt gebaut hat. hab das im rahmen des projektes gelernt und bin echt noch grün hinter den ohren damit. ich kenne von meinen leuten niemanden, der mir bei der problematik helfen könnte, da meist swing oder python verwendet wurde.
würde mich also über eine antwort trotz der abgelaufenen frist noch sehr freuen.
.... zeit fürs bett.... hab viel nachzuholen :autsch: