Frage an java, command-line, linux, package – Erstellen eines Java-Pakets in der Befehlszeile

7

Obwohl es wahrscheinlich empfohlen wird, und IDE für das Codieren fortgeschrittener Java-Projekte zu verwenden, ziehe ich es persönlich vor, fast ausschließlich die Befehlszeile auszuführen (mit gedit als Texteditor). Also sag mir bitte nicht nur "Verwende einfach Eclipse!" oder so etwas: P

Meine Frage ist, was die Methode zum Erstellen eines Pakets in Java durch einen Befehl ist.

Ich spreche nicht vom Packen einer Anwendung, die in der Befehlszeile ausgeführt wird, sondern vom Erstellen eines Pakets in der Befehlszeile. Mache ich eine Textdatei? Mache ich ein Verzeichnis?

Wie verknüpft man verwandte Bibliotheken und Natives ohne Verwendung einer IDE?

Ich weiß, dass ich hier sehr peinlich bin, aber ich bevorzuge die Steuerung, die man in der Kommandozeile verwendet.

Nein, Gläser sind einfach genug: P Ich meinte ein tatsächliches Paket (das, wie sich herausstellt, nur ein Verzeichnis ist ... gossfunkel
"Ein Paket erstellen"? Meinst du "Erstellen einer JAR"? Wenn ja, beginnen Sie mit der Dokumentation:docs.oracle.com/javase/tutorial/deployment/jar/index.html. Oliver Charlesworth

Deine Antwort

4   die antwort
2

le gut zurechtfindenAmeise oderMaven. Maven ist besonders praktisch, da es ein übergeordnetes Tool ist, das bereits verschiedene Projekttypen erstellt: Befehlszeilenanwendungen, Webanwendungen, Bibliotheken usw. Es verarbeitet auch Bibliotheksabhängigkeiten, indem es sie aus Repositorys herunterlädt.

@AleksG - Maven wäre immer noch hilfreich, da das OP eine Verknüpfung zu verwandten Bibliotheken herstellen muss. David Harkness
Ich glaube nicht, dass dies das Ziel von OP ist. Er spricht von Paketen im Java-Quellcode und nicht davon, wie die endgültige App gepackt wird. Aleks G
7

(2) Paket in Java-Datei angeben; (3) kompiliere es.

Zum Beispiel, wenn Sie ein Paket erstellen möchtencom.mycompany.myproject, dann müssen Sie im Basisverzeichnis für Ihr Projekt beginnen und dann:

(1) Verzeichnis erstellencom/mycompany/myproject

(2) erstellen Sie Java-Dateien in diesem Verzeichnis und geben Sie anpackage com.mycompany.myproject in ihnen;

(3) kompilieren Sie die Dateien zB mitjavac -cp . com/mycompany/myproject/*.java

Möglicherweise möchten Sie ein anderes Ausgabeverzeichnis angeben, um Quellen und kompilierte Klassen nicht zu mischen.

Wenn Sie zum Kompilieren externe Bibliotheken (JAR-Dateien) verwenden müssen, müssen Sie verwenden-cp oder-classpath Befehlszeilenparameter zujavac Werkzeug, um sie zu spezifizieren, z.B.

javac -cp .:some_library.jar:lib/another_library.java com/mycompany/myproject/*.java

Es kann eine gute Idee sein, alle externen Bibliotheken an einem Ort zu platzieren, z.lib Unterverzeichnis Ihres Hauptprojektverzeichnisses. Übrigens das oben Gesagtejavac Befehl setzt eine Unix-ähnliche Umgebung voraus. Wenn Sie unter Windows arbeiten, müssen Sie verwenden; zur Pfadtrennung.

5

com.mycompany.util entspricht einem Verzeichniscom/mycompany/util.

Beim Ausführen und Kompilieren von usw. sollte sich Ihr aktuelles Arbeitsverzeichnis dort befinden, wo sich das oberste Verzeichnis befindet.

Um Bibliotheken einzuschließen, fügen Sie diese beim Kompilieren und Ausführen in Ihren Klassenpfad ein. Zum Beispiel ein Projektverzeichnis erstellenmyproject und darunter habt ihr eure java-files und pakete untermyproject/src/ und Bibliotheken, die Sie unter verwendenmyproject/libs/ Dann, wenn Ihr aktuelles Arbeitsverzeichnis istmyproject ausführenjava -cp .:libs/*.jar oder das gleiche mitjavac.

Aber ich schlage vor, Sie untersuchen die Verwendung von Ameisen oder Maven.

das stimmt ... pakete sind nichts anderes als organisierte verzeichnisstrukturen Suraj Chandran
1

daher kann eine einfache Methode zum Erstellen eines Pakets beispielsweise com.organization.test im Terminal lauten

mkdir -p com/organization/test

Verwandte Fragen