Ich habe ein einfaches Programm mit einer Java-Anwendung (keine Anwendung mit Projekten, sondern einer Anwendung innerhalb eines Projekts; .java ) mit einem einzelnen Frame geschrieben. Beide Dateien sind .java, daher kann ich kein Manifest schreiben , das von der JAR benötigt wird.
Die MyApp.java startet wie eine Klasse mit Paket, importiert dann die öffentliche Klasse MyApp
und hat eine Hauptfunktion, aber es ist immer noch eine .java-Datei! Ich schreibe es in JDeveloper 11g, wenn es hilft.
Irgendwelche Ideen, wie man aus diesen Dateien eine JAR macht?
Antworten:
Öffnen Sie eine Eingabeaufforderung.
Wechseln Sie in das Verzeichnis, in dem Sie Ihre .java-Dateien haben
Erstellen Sie einen Verzeichnisaufbau
Führen Sie die Java-Kompilierung über die Befehlszeile aus
Wenn keine Fehler vorliegen, sollten Sie im Build-Verzeichnis Ihren Klassenbaum haben
Wechseln Sie in das Build-Verzeichnis und führen Sie a
Zum Hinzufügen von Manifest-Check-JAR-Befehlszeilenschaltern
quelle
jar cfe Main.jar Main *
(Ich bin jedoch verwirrt, ich musste den Namen derEinfach mit Kommandozeile:
Sicher, IDEs vermeiden die Verwendung eines Befehlszeilenterminals
quelle
.class
von myApp angeben . So war esjar -cf myJar.jar myApp.class
Ok, das ist die Lösung, die ich gerne gefunden hätte, stattdessen schreibe ich sie hier:
Erstellen Sie zuerst die Verzeichnisstruktur, die dem für die Java-Datei definierten Paket entspricht. Wenn es sich um my.super.application handelt, erstellen Sie das Verzeichnis "my" und darin "super" und darin die Java-Datei "App.java".
dann von der Kommandozeile:
javac -cp /path/to/lib1.jar:/path/to/lib2.jar path/to/my/super/App.java
Beachten Sie, dass die oben genannten Dateien mehrere Bibliotheken enthalten, wenn Sie unter Windows "" verwenden, um mehrere Dateien zu trennen, andernfalls verwenden Sie unter GNU / Linux ":" So erstellen Sie eine JAR-Datei
Mit dem obigen Befehl wird die Anwendung mit dem entsprechenden Manifest erstellt, das die App als Hauptklasse angibt.
Das Einfügen der erforderlichen Bibliotheken in die JAR-Datei ist mit Java- oder JAR-Befehlszeilenparametern nicht möglich.
Sie können stattdessen:
Die file.reference-Namen befinden sich in der Datei project.properties, nachdem Sie die Bibliotheken zur Netbeans-IDE hinzugefügt haben.
quelle
Oft möchten Sie ein Manifest wie folgt angeben:
Was lautet: "Erstellen Sie einen ausführlichen jarFilename manifestFilename", gefolgt von den Dateien, die Sie einschließen möchten. Ausführlich bedeutet, Nachrichten darüber zu drucken, was es tut.
Beachten Sie, dass der Name der von Ihnen angegebenen Manifestdatei beliebig sein kann, da
jar
sie automatisch umbenannt und in das richtige Verzeichnis in der JAR-Datei verschoben wird.quelle
Dies kann ohne Terminal direkt von der IDE aus erfolgen. Netbeans zum Beispiel.
quelle
Hier ist eine andere ausgefallene Möglichkeit, dies zu tun:
Dadurch werden alle .java-Dateien (
ls | grep .java
) aus Ihrem aktuellen Verzeichnis abgerufen und in .class (xargs -I {} javac {}
) kompiliert. Anschließend wird die JAR-Datei aus den zuvor kompilierten Klassen (jar -cf myJar.jar *.class
) erstellt.quelle
Der vielleicht anfängerfreundlichste Weg, eine JAR aus Ihrem Java-Code zu kompilieren, ist die Verwendung einer IDE (integrierte Entwicklungsumgebung; im Wesentlichen nur benutzerfreundliche Software für die Entwicklung) wie Netbeans oder Eclipse.
Sie können dies alles sehr einfach über die Befehlszeile tun. Stellen Sie sicher, dass Sie sich im selben Verzeichnis wie die Dateien befinden, auf die Sie abzielen, bevor Sie einen Befehl wie den folgenden ausführen:
... ändern Sie "YourApp" und "YourJar" in die richtigen Namen Ihrer Dateien.
quelle