
Meine aktuelle Standardversion von Java ist 7 (die derzeit nicht aktualisiert werden kann – ich weiß, dass sie das Ende ihrer Lebensdauer erreicht hat), aber ich habe auch Java 8 installiert.
Ich habe jedoch einige Jars von Drittanbietern (alle in einem Verzeichnis enthalten), die Java 1.8 erfordern. Jedem Jar ist ein Bash-Skript zugeordnet, um die relevanten Umgebungsvariablen zu prüfen und den zum Ausführen des Jars erforderlichen Java-Befehl zu erstellen. Jedes Bash-Skript geht davon aus, dass der Befehl zum Aufrufen von Java, wenig überraschend, lautet java
.
Gibt es eine Möglichkeit für mich, die Version von Java, die ausgeführt wird, wenn java
aufgerufen wird, von 7 auf 8 zu ändern innur dieser Ordner?
Antwort1
Klar: füge deine pwd
zu deiner PATH
Variable hinzu, an der signifikantesten Stelle,dh,
export PATH=.:$PATH
Sie sollten die obige Version verwenden,nicht export PATH=$PWD:$PATH
weil es in diesem Fall $PWD
beim Sourcing der Bash-Datei, die den Befehl enthält, ausgewertet wird, während Sie möchten, dass es jedes Mal ausgewertet wird.
Erstellen Sie nun eine symbolische Version für die Java-Version, die Sie verwenden möchten, und zwar in dem Verzeichnis, in dem diese sich von der Standardversion unterscheiden soll:
ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java ./java
oder wie auch immer Ihre ausführbare Datei heißt.
Beachten Sie, dass die Aufnahme Ihres PWD in Ihre PATH-Variable jedoch ein potenzielles Sicherheitsrisiko darstellt.