RCP SWT-Problem: Programm sucht Cocoa-Bibliothek unter Windows

Hallo zusammen,

ich habe mir ein kleines Hilfsprogramm mit einer einfachen SWT-Oberfläche geschrieben. Das Programm möchte ich in meiner Dropbox speichern und sowohl auf meinem Macbook als auch auf dem Windows-Desktop nutzen.
Programmiert habe ich es mit Eclipse auf dem Mac und ich bekomme das Mistding einfach nicht unter Windows zum Laufen... :(
Beim ersten Versuch bekam ich eine Fehlermeldung, dass er die Bibliothek "swt-cocoa-4629.dll" nicht finden kann. Nach etwas googeln bin ich dann auf folgende Lösung gestoßen:
https://www.chrisnewland.com/select-correct-swt-jar-for-your-os-and-jvm-at-runtime-191

Jetzt findet er die "swt-pi-win32.dll" nicht...

Die verwendeten Jars und die installierte JRE Version sind beide 64bit.

Achja, beim Exportieren als Jar habe ich ausgewählt, dass alle verwendeten Jars gepackt werden sollen. Zusätzliches Hinzufügen des Windows-Jars als ext. Bibliothek in das Projekt auf dem Mac hat keine Besserung gebracht.

Kann mir jemand einen Tipp geben, wie man sowas hinbekommt?
Oder ist das ein sinnloses Unterfangen, und ich muss für jede Plattform einmal kompilieren?

Viele Grüße,
Julian
 
Ich wuerde das fuer jede Platform separat packen, das reduziert ja auch die Downloadgroesse. Schreib' dir doch ein ANT/Maven/Gradle-script, das das fuer dich macht.
Cheers,
Andy
 
Hallo Andy,
danke für deine Rückmeldung! Hatte schon befürchtet, dass es nicht so einfach ist...
Dann werde ich das wohl so machen - mit ANT wollte ich mich sowieso mal beschäftigen.
Die Downloadgröße ist übrigens ziemlich wurscht :))), denn das wird einmal in die Dropbox geladen und dann auf die lokalen Platten der Rechner synchronisiert. Sofern ich keine Änderungen daran mache, muss nix geladen werden.
 
Und lass die Finger von Ant, das ist schon etwas angestaubt. Aber in Maven (und Gradle? bin da nicht so fit, wie mit Maven…) kann man Profile anlegen, in denen könntest du Betriebssystem spezifische Dependencies (und Properties etc.) einfügen. Schau es dir vielleicht mal an.
 
Super, danke für den Hinweis!
Ich bin javamäßig nicht ganz up to date, daher sagte mir nur Ant etwas.
Aber was du über Maven schreibst, klingt sehr interessant, muss ich mir auf jeden Fall näher anschauen.
 
Und lass die Finger von Ant, das ist schon etwas angestaubt. Aber in Maven (und Gradle? bin da nicht so fit, wie mit Maven…) kann man Profile anlegen, in denen könntest du Betriebssystem spezifische Dependencies (und Properties etc.) einfügen. Schau es dir vielleicht mal an.
Da muss ich jetzt aber leider widersprechen. ANT ist vielleicht alt, aber noch lange nicht "angestaubt". Das letzte Update ist von Feb 2017. ANT ist immer dann wichtig, wenn's ans Eingemachte geht; sprich Maven und Gradle haben Probleme. Deshalb haben beide Tools Schnittstellen zu ANT. Dazu kommt, das ANT nicht die leidige Angewohnheit hat, das gesamte Internet runterzuladen. Deshalb wird es ueberall da benutzt, wo die Connectivity eingeschraenkt ist, z.B. in der Defence-industrie. Wer professionell im Bereich Java arbeiten will, muss eh alle drei Tools kennen.

http://ant.apache.org/

Cheers,
Andy
 
@AndyJ Ich wollte dir nicht zu nahe treten. Wir verwenden es auch noch in einem speziellen Fall und manchmal vermisse ich das, was man damit alles machen kann (z.B. Java-Files vor dem kompilieren noch manipulieren). Kann man allerdings auch noch, wenn man Ant in Maven integriert.
Versteh mich nicht falsch: Ant als Build-Tool ist zwar kompliziert, aber mächtig. Aber was ihm jedoch fehlt, ist das Dependency-Management und hier punkten Maven und Gradle. Und vieles, was du mit Ant machen kannst, geht auch in Gradle (da Groovy (somit Java-Code) oder Kotlin möglich ist).
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben