2010-08-30 9 views
6

Ich habe ein Shell-Skript verwendet, um eine Java-Klasse auszuführen. Mein Skript enthältErstellen eines Shell-Skripts zum Ausführen des Java-Programms

#!/bin/sh 
java -jar jobs/job.jar 

ist meine gescheiterten Versuche sind es auszuführen.

[[email protected]]#sh testapp.sh 
Unable to access jarfile jobs/job.jar 

wenn ich dies nur in der Befehlszeile funktioniert es gut

[[email protected]]#java -jar jobs/job.jar 

Dank.

+1

Haben Sie das Skript aus dem gleichen Verzeichnis laufen? –

+0

Es wird nicht empfohlen routinemäßig Dinge im Super-User-Modus (aka root) auszuführen. – emory

Antwort

3

Verwenden Sie den absoluten Pfad zu Ihrer JAR-Datei, z. G. /root/jobs/job.jar.

7

Der beste Weg ist die aktuelle dirname und bekommt dort mit dieser zu erhalten:

#!/bin/sh 
cd `dirname "$0"` 
java -jar ./job/job.jar 
+0

Dies scheint die richtige Antwort zu sein, da die Verwendung eines absoluten Pfads keine Option ist, wenn Sie die Dateien verschieben (oder sogar teilen) möchten. – Sloy

Verwandte Themen