Sie verwenden Semikolon als Klassenpfad-Trennzeichen – dies funktioniert nicht unter Linux. Versuchen Sie, „;“ zu ersetzen. mit ":" im Klassenpfad und es sollte funktionieren.
Bearbeiten: Erklärung dessen, was hier passiert. Unter Linux wird ";" ist Befehlstrennzeichen. Ihre Linie von
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar;/home/JohnF QueryDB
wird wirklich in 2 erweitert, die nacheinander ausgeführt werden:
java -cp /home/JohnF/postgresql-9.2-1000.jdbc4.jar
/home/JohnF QueryDB
Erstens tut man nichts und beendet sich erfolgreich. Zweitens versucht man, /home/JohnF
aufzurufen als ausführbare Datei, und das ist wirklich keine ausführbare Datei, sondern ein Verzeichnis!