Command Line Interface
Der Craft-Prozess wird mit dem Befehl craft [path] [options*]
gestartet.
Auswahl der Craft-Datei
Standardmäßig wird im aktuellen Ordner nach einer craft.txt
Datei gesucht, um diese als Craft-Datei auszuführen.
Soll eine andere Datei ausgeführt werden, kann diese mit dem path
Argument angegeben werden.
Ist das path
Argument ein Ordner, wird in diesem eine craft.txt
gesucht.
Name der Craft-Datei
In der Regel ist es praktischer in einen Ordner zu navigieren und dort craft
ohne path
aufzurufen.
Damit das möglich ist, ist es zu empfehlen die Craft-Datei craft.txt
zu nennen.
Mehrere Craft-Dateien für ein Projekt
Für manche Projekte, die JAR-Dateien auf verschiedene Arten bauen wollen, kann es sinnvoll sein mehrere Craft-Dateien zu haben.
Das path
Argument kann dann verwendet werden, um auszuwählen, welche Craft-Datei ausgeführt werden soll.
Dabei sollte beachtet werden, dass die Ausgabedateien der verschiedenen Craft-Dateien standardmäßig den gleichen Namen haben und sich gegenseitig überschrieben können.
Um das zu verhindern, ist es zu empfehlen in diesem Fall immer zusätzlich die --ver <version>
Option zu verwenden und einen für die Craft-Datei eindeutigen Versionstext anzugeben.
Optionen
In diesem Abschnitt werden alle Command Line Options des craft
Befehls beschrieben.
Eine weitere kompakte Beschreibung kann durch craft --help
ausgegeben werden.
Standalone
Die --standalone
Option gibt an, dass ein Standalone-Build erzeugt werden soll.
Dazu werden die kompilierten Java Class-Dateien sowie die Resource-Dateien aller Dependencies in die JAR-Datei eingefügt.
Technisch bewirkt diese Option, dass sich der depend
Befehl genau so verhält wie der include
Befehl.
Lizenzen
Da ein Standalone-Build alle Dependencies enthält, muss besonders geprüft werden, dass keine Lizenzen verletzt werden.
Class-Path
Ein Standalone-Build garantiert nicht, dass die JAR-Datei ohne weiteres ausführbar ist. Es werden nur Dependencies zusätzlich kompiliert. Beispielsweise müssen Libraries, welche über den Class-Path oder den Module-Path hinzugefügt werden, auch zur Laufzeit vorhanden sein.
Dateikonflikte
Falls Dependencies Dateien mit dem gleichen Pfad enthalten, wird nur eine davon in der JAR-Datei vorhanden sein.
Dieses Problem tritt z.B. bei Spigot-Plugins auf, da jedes Plugin eine plugin.yml
haben muss.
Besondere Vorsicht ist geboten, falls gleichnamige Lizenz-Dateien sich gegenseitig überschatten.
Falls Dateikonflikte auftreten, werden diese als Warnung ausgegeben.
Ausgabeverzeichnis
Mit der --output-dir <path>
Option (bzw. -o <path>
) kann das Verzeichnis angegeben werden, in dem die Ausgabedateien erstellt werden.
Der angegebe Pfad ist relativ zum aktuellen Working-Directory.
Diese Option überschreibt den Wert für das Ausgabeverzeichnis, der durch den output-dir <path>
Befehl in der Craft-Datei ausgewählt wurde.
Hinweis: gitignore
Wird eine Verwaltungssoftware wie Git für das Projekt verwendet, sollte darauf geachtet werden, dass die Ausgabedateien nicht erfasst werden.
Dazu sollte das Ausgabeverzeichnis in die .gitignore
Datei eingetragen werden.
Besonders bei Verwendung der --output-dir
Option sollte darauf geachtet werden, dass keine unerwünschten Nebeneffekte entstehen.
Projektname
Die Option --project <name>
ermöglicht es einen benutzerdefinierten Projektnamen anzugeben.
Version
Mit der Option --ver <version>
kann ein benutzerdefinierter Versionstext angegeben werden.
Dieser wird im Namen der Ausgabedateien enthalten sein.
Wird diese Option nicht angegeben, wird kein Versionstext zu den Dateinamen hinzugefügt.
Release-Dateien
Für ein robustes Deployment sollte beim Erstellen der Release-Dateien ein Versionstext angegeben werden. Beim Erstellen von Test-Builds sollte entweder gar kein Versionstext oder ein anderes Versionsschema verwendet werden.
Weitere Optionen
Name | Beschreibung |
---|---|
--version oder -v |
Zeigt an, welche Version von Crafter installiert ist. |
--debug |
Es werden zusätzliche Debugging Nachrichten angezeigt. |
--help |
Zeigt eine Command Line Hilfe an, in der die nutzbaren Optionen genannt werden. |