0. Introducción
Aún no controlo Java 9 y nos endiñan Java 10...
Pero la buena noticia es que los cambios acaecidos de cara al programado parecen ser mas de una pequeña revisión que de una versión.
Por tanto me voy a arriesgar a utilizar Java 10
1. Instalación
Voy a seguir las instrucciones de insalación en Ubuntu de Wesam en StackOverflow.1. Descargar el OpenJDK 10 para Linux.
2. Extraer el archivo
tar xzvf openjdk-10_linux-x64_bin.tar.gz
3. Mover los ficheros a donde se encuentren los otros JDK del sistema, por ejemplo yo los tengo en /home/myUser/MyPrograms (siendo myUser el usuario que entro en el sistema)
4. Añadir la nueva alternativa de Java
sudo update-alternatives --install /usr/bin/java java /home/myUser/MyPrograms/jdk-10.0.1/bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /home/myUser/MyPrograms/jdk-10.0.1/bin/javac 1
5. Actualizar las alternativas Java del Sistema y seleccionar JDK10
sudo update-alternatives --config java
Y seleccionar la opción de JDK 10
There are 4 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-9-oracle/bin/java 1091 auto mode
1 /home/eduard/MyPrograms/jdk-10.0.1/bin/java 1 manual mode
2 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/java 1091 manual mode
* 4 /usr/lib/jvm/java-9-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
Lo mismo para el javac
sudo update-alternatives --config javac
There are 4 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-9-oracle/bin/javac 1091 auto mode
1 /home/eduard/MyPrograms/jdk-10.0.1/bin/javac 1 manual mode
2 /usr/lib/jvm/java-8-oracle/bin/javac 1081 manual mode
3 /usr/lib/jvm/java-9-openjdk-amd64/bin/javac 1091 manual mode
* 4 /usr/lib/jvm/java-9-oracle/bin/javac 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
6. Verificar la instalación
Para el java
$ java --version openjdk 10.0.1 2018-04-17 OpenJDK Runtime Environment (build 10.0.1+10) OpenJDK 64-Bit Server VM (build 10.0.1+10, mixed mode)
y para el javac
$ javac --version javac 10.0.1
2. Problemas surgidos en Eclipse
Es muy difícil que salga todo bien a la primera. Veamos algunos problemasERROR 1. Hay que ver que la configuración de los Servers apunten al JRE correcto. Si no puede dar problemas.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
-Djava.endorsed.dirs=/home/eduard/ProgramesMeus/apache-tomcat-9.0.8/endorsed is not supported. Endorsed standards and standalone APIs
in modular form will be supported via the concept of upgradeable modules.
Solución : Parece ser que las versiones Java 9 y superiores no admiten la variable de entorno -"Djava.endorsed.dirs". Veamos los pasos para solucionar el tema
a) Solución correcta:
Según Alexander Bering en StackOverflow debemos actualizar la versión de eclipse Oxigen WTP, para ello:
* Seleccionar "Help> Install new Software.."
* Añadir la siguiente URL: http://download.eclipse.org/webtools/repository/oxygen
* Escoger Web Tools Platform (WTP) 3.9.4
* Seleccionar "Next" y seguir las instrucciones
b) Solución que falla mas que una escopeta de feria:
bº) hay que detener el servidor mediante el boton rojo cuadrado de la consola.
b2) a continuación hay que ejecuar la página xhtml como (Run - Run As - Run Configurations)
cb3 Eliminar las variables de entorno que indican el -Djava.endorsed.dirs que se ve en la figura.
Y ya debe de funcionar.