2009-02-26 7 views
4

Ich habe eine sehr kleine Gruppe von Klassen in einer benutzerdefinierten Pakethierarchie mit einer Konsolen-App-Klasse, die sie verwendet. Alles funktioniert gut von JCreator und von einer Eingabeaufforderung.Schnellste Methode zum Packen einer Java-Konsolenanwendung

Ich möchte eine zweite Konsolenanwendung erstellen, die dasselbe Paket wiederverwendet.

Als Java-Neuling, was ist die schnellste, schmutzigste Methode, das zu tun?

Mein Hauptanliegen war, das Kopieren der Paketverzeichnisse in das Verzeichnis der neuen Konsolenanwendung zu vermeiden.

Mit JCreator hatte ich keine Probleme beim Hinzufügen des Paketverzeichnisses zum Projekt und beim Kompilieren und Ausführen. Aber als ich versuchte, die Konsolenanwendung über die Befehlszeile auszuführen, konnte sie die Klassen in der Pakethierarchie nicht finden.

in Visual Studio eine Referenz nur noch hinzufügen ...

Antwort

9

Was Sie wollen für beiden Anwendungen zu tun ist, mit einer Main-Klassendefinition im var Manifest eine JAR-Datei erstellen. Es gibt ein gutes Stück von Informationen zu diesem Thema in der Java Tutorials, aber das Wesentliche ist es nur, dass Sie eine JAR-Datei mit dem jar-Tool erstellen werden, und dann ein wenig Wrapper um es auszuführen machen als

java -jar myfile.jar 
+2

+1: Ausführbare JAR - schnell und * verschmutzt nicht *. –

+0

Hier ist das vollständige Tutorial: http://java.sun.com/docs/books/tutorial/deployment/jar/appman.html – toddk

+0

toddk, das ist genau das gleiche Tutorial, das ich verlinkt habe. –

0

Wenn Wenn Sie Ihre Klassendateien nicht von Ihrer ersten Anwendung kopieren möchten, müssen Sie den Klassenpfad einrichten, der bei der Ausführung von Java über die Befehlszeile verwendet wird, um den Speicherort dieser Dateien anzugeben.

Stellen Sie sicher, dass Sie auch den Speicherort Ihrer neu erstellten Klassendateien angeben.

0

Mit einem Tool wie process exlporer sollten Sie in der Lage sein, die Befehlszeile zu sehen, mit der JCreator Ihre Anwendung gestartet hat.

(In der Regel IDEs auch viele Befehlszeilenparameter sind für die Möglichkeit, auf Ihre Bewerbung und debuggen usw. verbinden)

0

Wenn ich das richtig gelesen, Sie haben eine Klasse-I-A verweist, das nenne Pakete in Paket pkg und jetzt möchten Sie eine neue Klasse B erstellen, die auch die Klassen in pkg verwendet.

Eine Option besteht darin, eine pkg.jar-Datei zu erstellen, die alle Klassen in pkg enthält und dann separate JAR-Dateien für A und B erstellt. In den Manifestdateien für A.jar und B.jar können Sie eine Klasse einschließen -Path-Element, das pkg.jar enthält

Dann solange pkg.jar zusammen mit A.jar oder B.jar gesendet wird, würden sie jeweils die pkg.jar referenzieren, ohne sich darum kümmern zu müssen, den Klassenpfad für den Befehl anzugeben Linie.

Einige Details hier: http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html

Verwandte Themen