Cześć.
Na wstępie dodam, że użytkuję Ubuntu 17.04.
Postanowiłem wgrać nowe JDK-9. Uczyniłem to zatem w ten sposób:
wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" \
http://download.oracle.com/otn-pub/java/jdk/9+181/jdk-9_linux-x64_bin.tar.gz \
-O jdk-9_linux-x64_bin.tar.gz
Następnie przeniosłem do /opt/
sudo mv jdk-9_linux-x64_bin.tar.gz /opt/
Wypakowałem:
cd /opt/
sudo tar -xzf jdk-9_linux-x64_bin.tar.gz
update-alternatives:
sudo update-alternatives --install /usr/bin/java java /opt/jdk-9/bin/java 1000
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk-9/bin/javac 1000
sudo update-alternatives --install /usr/bin/javadoc javadoc /opt/jdk-9/bin/javadoc 1000
sudo update-alternatives --install /usr/bin/javap javap /opt/jdk-9/bin/javap 1000
Wybór wersji:
sudo update-alternatives --config java
Tu posiadam 3 pozycje:
0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java [Auto]
1 /opt/jdk-9/bin/java [Ręczny]
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java [Ręczny]
Przestawiłem na pozycję 1 otrzymując:
update-alternatives: using /opt/jdk-9/bin/java to provide /usr/bin/java (java) in manual mode
Jednak java-version nadal dawała jdk 1.8.0. I tu zapewne zrobiłem gdzieś błąd edytując /etc/environment/, który aktualnie wygląda tak:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export JAVA_HOME=/opt/jdk-9
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
export PATH="$PATH:$JAVA_HOME/bin"
Edytowałem również ~/.bashrc (przy instalacji poprzedniego JDK) dodając na samym końcu:
export JAVA_HOME='/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java'
PATH=$JAVA_HOME/bin:$PATH_HOME/jre/bin:$PATH
Po restarcie nie mogę się zalogować (infinity loop). I już w sumie średnio wiem jak to naprawić. Biegam po konsoli ctrl+alt+F1 i próbuję ale ze średnim skutkiem. Dlatego postanowiłem zapytać zanim popsuję wszystko jeszcze bardziej
Edit:Naprawione.
po naprawie:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME=/opt/jdk-9
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
~/.bashrc
export JAVA_HOME='/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java'
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH