2016-07-31 9 views
0

Wie füge ich .java-Dateien zu meinem jar hinzu? Meine Klassen, in der bin/Ordner, sind wie: aaa/b/c/program.class und /aaa/b/c/d.classWie kann ich mithilfe der Befehlszeile Quelldateien zu einer JAR-Datei hinzufügen?

So füge ich ein/in das Gefäß und stellen Sie den Eintrag zeigen Sie auf aaa.bcProgram. Dann kann ich: java -jar foo.jar und das Programm läuft.

Wenn ich die src/aaa/* - und bin/aaa/* -Dateien auffrische, ist es nicht möglich, aaa/b/c/Program.class zu finden - Ich habe verschiedene Möglichkeiten zur Eingabe des Einstiegspunkts ausprobiert. Es scheint, dass der Pfad dem Paket + Klassennamen entsprechen muss.

Was ist der richtige Weg, um die JAR-Datei zu machen?

Es lässt mich nicht die Java-und Klassenpfade leicht zu den gleichen Ordnern hinzufügen. Wenn ich gehe zu den übergeordneten Ordner und fügen Sie die Dateien:

  • jar -cef x.jar aaa.bcProgram -C src aaa -C bin aaa
  • ich:: java.util.zip .ZipException: doppelte Eintrag: aaa/

Um sie in den gleichen Ordner zu bekommen, kann ich es in zwei Schritten tun:

  • jar -cef x.jar aaa.bcprogram -C bin aaa
  • jar -uf x.jar -C src aaa

Ist das der richtige Weg?

Wenn es Dokumente gibt, lege ich sie auch in die gleichen Ordner?

ich ein paar auf dem Netz gesucht und das bin nicht zu finden, auch (vor allem?) In dem lame docs Oracle ...

(Ich habe versucht Eclipse zu bekommen it- zu tun, aber es wird nicht lassen Sie mich einige Klassen lassen ... Aber ich will das wirklich mit der Kommandozeile tun ...)

Dank

Antwort

0

Wenn Sie die kompilierten Klassen und die Quellen in den gleichen Ordner haben möchten, dann Sie müssen zwei Schritte verwenden, einen Schritt jar cf, um die Datei mit einem Satz Dateien zu erstellen, und einen Schritt jar uf, um die anderen s hinzuzufügen et von Dateien, wie in Ihrem Beispiel.

Aber dies wird nicht empfohlen. Die empfohlene Vorgehensweise besteht darin, das ausführbare Programm, die Quellen und die Dokumente zu trennen und jeweils eine dedizierte JAR-Datei zu verwenden. Da Sie etwas Ungewöhnliches tun, ist es keine Überraschung, dass es keinen einfachen Weg gibt, es zu tun (Sie brauchen zwei Schritte).