Ich habe heute fast einen Tag damit verbracht, zu recherchieren, wie man Skripte zum Ausführen von Java-Programmen verwendet. Ich habe es endlich verstanden.
(1) Schreiben Sie eine .sh-Datei unter Linux
(2) Der Inhalt der Akte lautet wie folgt:
Kopieren Sie den Codecode wie folgt:
#!/bin/sh //Bash-Dateiheader
APP_HOME=/home/blmcrm/crm/A //Das vorherige Verzeichnis der Bin-Datei in der auszuführenden Java-Datei. Mein Verzeichnis ist /home/blmcrm/crm/A/bin/blm...(nicht im enthalten Folgendes) (geschrieben), kurz gesagt, schreiben Sie den Teil vor das bin-Verzeichnis, da sich das JAR-Paket im bin-Verzeichnis befindet. Wenn es sich nicht im bin-Verzeichnis befindet, ändern Sie es einfach auf die gleiche Weise.
CLASSPATH=$APP_HOME/bin // Das bin-Verzeichnis ist natürlich das Verzeichnis, das das JAR-Paket enthält.
für i in "$APP_HOME"/bin/*.jar //Führen Sie alle JAR-Pakete ein, die hier verwendete Schleife, natürlich können Sie sie auch einzeln in diesem Format schreiben
Tun
CLASSPATH="$CLASSPATH="$i" //Umgebungsvariablen haben dieses Format
Erledigt
export CLASSPATH=.:$CLASSPATH //Wenn Sie dies nicht schreiben, kann es sein, dass die Hauptklasse nicht gefunden werden kann.
echo ${CLASSPATH} //Umgebungsvariablen drucken, Sie müssen sie nicht schreiben
java -Xms50m -Xmx250m org.gdh.blm.exec.Syslog_csv
Exit (Ende) //Führen Sie das Java-Programm aus, wobei -Xms50m -Xmx250m die laufenden Speichereinstellungen sind und das Folgende der Pfad vom bin-Verzeichnis zu .class ist. Meiner ist Syslog_csv.class, also ist mein letzter Syslog_csv.
Ich weiß nicht, ob die Situation bei jedem anders ist. Das Wichtigste sind jedoch die Umgebungsvariablen, die ich immer finden kann Ich verstehe nicht, was los ist. Tatsächlich ist die Umgebungsvariable der Speicherort des Java-Programms, das Sie ausführen möchten. Geben Sie im Terminal sh aa.sh ein.