
Ich möchte einen Alias zum Ausführen der Java-Projekte auf der Befehlszeile erstellen, also anstatt jedes Mal „java classname“ einzugeben, möchte ich einen Alias für diesen „Java“-Befehl erstellen. Zum Beispiel „run classname“. Gibt es eine Möglichkeit, den Standardbefehl zur Ausführung von Java-Projekten durch unseren eigenen zu ersetzen? Danke.
Antwort1
Wenn Sie einen Alias für die Ausführung einer bestimmten Klasse (mit bestimmten Parametern) wünschen, fügen Sie Folgendes zu Ihrer Bash-Profildatei hinzu (etwa .bash oder .profile in Ihrem Home-Verzeichnis):
alias aliasname="java classname param1 param2"
Dadurch wird die durch den Klassennamen angegebene Klasse mit den Parametern ausgeführt, die Sie beim Eingeben des Aliasnamens in Ihre Befehlszeile angegeben haben.
Wenn Sie jedoch einen Alias wünschen, der jede Klasse (und jeden Parameter) annehmen kann, fügen Sie Ihrem Bash-Profil Folgendes hinzu:
function functionname() { java $@ }
Das ist so, als würde man den Java-Befehl in „Funktionsname“ umbenennen, ohne dass dadurch zusätzliche Vorteile entstehen.
Beachten Sie, dass Sie den folgenden Befehl ausführen müssen:
source "filepath_to_your_profile_path"
oder starten Sie Ihr Terminal neu, damit dies wirksam wird.
Antwort2
Wenn Sie dem Befehl lediglich Parameter hinzufügen möchten java
, ist das ganz einfach:
alias java="java -Xmx2g"
Damit können Sie java <classname>
die Klasse in einer JRE-Instanz starten, die bis zu 2 GB RAM verwenden darf. Wenn Sie eine alternative Version des java
Befehls erstellen möchten, die mit anderen Parametern ausgeführt wird, ist das auch ganz einfach:
alias runjar="java -jar"
Damit können Sie runjar <jarfilename.jar>
eine JAR-Datei ausführen. Da der Aufruf java
intern erfolgt, wird auch der obige Alias erweitert (sofern beide definiert sind), sodass der vollständige resultierende Befehl lautet java -Xmx2g -jar <jarfilename.jar>
: .
In beiden Fällen möchten Sie diese Zeilen zu Ihren .profile
und/oder .bashrc
Skripten (oder einem Äquivalent für Ihre bevorzugte Shell) hinzufügen, sodass sie automatisch geladen werden, wenn Sie eine Shell öffnen.