VAYAN A ESTA URL DONDE ESTA EL CONTENIDO QUE YO MISMO ESCRIBI
Se Descarga el JRE8 y el JDK8 de Oracle
TIP
Googlear JRE8
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Googlear JDK8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Les recomiendo buscar el link en algun motor de busqueda, valga la redundancia, para no depender de una URL específica, pero igual se las dejo por si la quieren usar
Les dejo los screen shoots para que descarguen los RPM ya que el tutorial enseña como instalar los paquetes rpm tanto del jre8 como del jdk8
jre8
jre8
jdk8
jdk8
Instalar JRE8 y JDK8
Cambiense al directorio donde se descargaron los paquetes y ejecuten
rpm -Uvh jre-8-linux-x64.rpm
rpm -Uvh jdk-8-linux-x64.rpm
Donde las opciones del comando significan
U update
v verbose (muestra en pantalla cada uno de los procesos que se estan ejecutando)
h hash (imprime el simbolo hash en cada una de las lineas sacadas con el verbose)
Creamos un Hola mundo
mkdir /home/zchumager/Documents/java-exercises/hello-world
cd /home/zchumager/Documents/java-exercises/hello-world
touch HelloWorld.java
nano HelloWorld.java
Escribimos el siguiente código
class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World";
}
}
Comprobamos con cat el contenido del archivo
cat HelloWorld.java
Compilamos el archivo
javac HelloWorld.java
Checamos que el archivo se haya compilado verificando que se genero el archivo HelloWorld.class con el comando ls
Corremos el programa
java HelloWorld
Y oh sorpresa
ABRT problem creation: 'success'
Exception in thread "main" java.lang.UnsupportedClassVersionError: HelloWorld : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Esta excepción aparece cuando el JDK con el que se compilo el archivo es menor a la versión con la que se quiere correr
en este caso podemos comprobar las versiones tanto del Run evironment como del compilador con
java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (fedora-2.4.3.0.fc20-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
javac -version
javac 1.8.0
Un workaround o solución alterna podría haber sido desinstalar el jdk8 e instalar el jdk7 pero eso no saca de la duda de porque pese haber instalado el jre8 la versión de java apunta a la 1.7 del openjdk, además que ese es el reto de este artículo, aprender como instalar el JDK8, así que ahí les va la solución
Se Modifica la referencia del symlink java de la carpeta bin del user
alternatives –install /usr/bin/java java /usr/java/jre1.8.0/bin/java 2
alternatives –config java
Se Teclea 2 para seleccionar la alternativa instalada
Explicación
Tanto /bin/java/ como /usr/bin/java son symlinks que apuntan a /etc/alternatives/java, eso lo podemos comprobar con un ls -l /bin/java /usr/bin/java
/bin/java -> /etc/alternatives/java
/usr/bin/java -> /etc/alternatives/java
por lo que para poder definir el jre que hemos instalado necesitamos
1- Instalar una nueva alternativa para java
2- Selecionar la alternativa instalada
ELIGIENDO 1
/etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.3.0.fc20.x86_64/jre/bin/java
ELIGIIENDO 2
/etc/alternatives/java -> /usr/java/jre1.8.0/bin/java
Ahora para comprobar
java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
De esta manera pueden tener distintas versiones instaladas de Java y cambiarlas dependiendo del caso
Ahora si volvemos a compilar y ya podremos ejecutar nuestro programa compilado con el JDK8
javac HelloWorld.java
java HelloWorld