2011-01-10 7 views
3

Ich habe ein Java-Programm besteht aus einem Jar für das "echte Programm" und einem Unterordner mit 20 Jar Bibliotheksdateien (haben auch Abhängigkeiten zwischen ihnen). Ich habe versucht, aber ohne Erfolg ... ich mit den vielen Optionen bin fehle, die gcj :(zu kompilieren Wer weiß, wie so dass ein Java-Programm zu nativen Code kompilieren DankKompilieren von komplexem Java-Programm in nativem Code mit GCJ

aktualisieren:.? Ich habe verwendet das Plugin für Eclipse (ich benutze die 3.6 Version von Eclipse und das Plugin funktioniert gut) http://gcjbuilder.sourceforge.net/ um ein Makefile für die Kompilation zu generieren, aber jetzt habe ich ein anderes Problem :( Einige Bibliotheken sind nicht kompiliert (Exit für Fehler) Der Fehler ist, dass GCJ alle .class-Dateien innerhalb der .jar-Datei betrachtet, die keine Abhängigkeiten mit anderen Bibliotheken haben, aber für die Zwecke meines Programms werden diese Klassen nicht verwendet (das heißt, das Java-Programm funktioniert ordnungsgemäß) Es gibt also eine Möglichkeit, gcj dazu zu bringen, nur die tatsächlich in meinem Java verwendeten Klassen zu berücksichtigen Programm?

Antwort

3

Ich kann nur empfehlen, dass Sie GCJ nicht verwenden. Es ist nicht Java. Die Kompatibilitätsmatrix auf ihrer Webseite ist alles andere als ermutigend. Es implementiert Java 1.2 noch nicht vollständig, geschweige denn alle von 1.3, 1.4, 1.5, 1.6. Das Projekt scheint immer weiter zurückzufallen, und es hatte überhaupt nie eine hundertprozentige Java-Kompatibilität als erklärtes Ziel.

+0

Kennen Sie eine Alternative, um ein Java-Programm in nativen Code umzuwandeln? Nicht der übliche JET ... (= nicht frei ...) – Alan

+0

@Alan: Entschuldigung, kann nicht mit dieser Frage helfen. – EJP

+1

Warum versuchen Sie, eine native ausführbare Datei überhaupt zu erstellen? Am besten wäre es, ein Installationsprogramm zu erstellen, das die Abhängigkeiten einfach in ein lib-Verzeichnis entpackt, das das Haupttool (ausführbares Programm) enthält, und mit einem Batch-Skript (oder einem entsprechenden Betriebssystem) die Laufzeitumgebung einrichten Umgebung richtig und führen Sie das Glas aus. Ich habe die integrierten nativen "Compiler" in JBuilder und IntelliJ verwendet, und während sie arbeiten, ist das Ergebnis nicht überwältigend. – jwenting

0

Sie können sich Tools wie Autojar und Firefends ansehen, um Ihre Abhängigkeiten aufzulösen und ein einzelnes JAR zu erstellen.

Verwandte Themen