Verwenden einer bestimmten Java-Version in einem bestimmten Verzeichnis

Verwenden einer bestimmten Java-Version in einem bestimmten Verzeichnis

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 javaaufgerufen wird, von 7 auf 8 zu ändern innur dieser Ordner?

Antwort1

Klar: füge deine pwdzu deiner PATHVariable hinzu, an der signifikantesten Stelle,dh,

 export PATH=.:$PATH

Sie sollten die obige Version verwenden,nicht export PATH=$PWD:$PATHweil es in diesem Fall $PWDbeim 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.

verwandte Informationen