Un día, un amigo nos preguntó como montar tomcat con java de Oracle© en su raspberry Pi3 para un proyecto que tenía que entregar…
Nos bajamos el jdk de Oracle©: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
La versión arm32: jdk-8u161-linux-arm32-vfp-hflt.tar.gz
Instalamos el paquete de debian contrib java-package y java-common:
$ sudo apt install java-package java-common
Creamos un directorio de trabajo:
$ mkdir jdk
$ cd jdk/
Movemos el archivo comprimido del jdk al directorio:
$ mv ../jdk-8u161-linux-arm32-vfp-hflt.tar.gz .
Bajamos el parche que necesitamos para hacer funcionar java-package con la arquitectura armhf
$ wget "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=2;bug=863247;filename=java-package.patch;msg=10"
$ mv "bugreport.cgi?att=2;bug=863247;filename=java-package.patch;msg=10" java-package.patch
Aplicamos el parche:
$ sudo patch -d /usr/share/java-package < java-package.patch
Generamos el paquete deb:
$ make-jpkg jdk-8u161-linux-arm32-vfp-hflt.tar.gz
Instalamos el paquete deb:
$ sudo dpkg -i oracle-java8-jdk_8u161_armhf.deb
Vemos a que versión de jdk apunta java por defecto y asignamos el de Oracle©:
$ sudo update-java-alternatives -l
$ sudo update-java-alternatives -s oracle-java8-jdk-armhf
Generamos un enlace simbólico al directorio desde java hacia default-java
$ sudo ln -sf /usr/lib/jvm/oracle-java8-jdk-armhf /usr/lib/jvm/default-java
Y ya tenemos java de Oracle© en nuestra raspberry:
$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) Client VM (build 25.161-b12, mixed mode)
Instalamos tomcat8 del repositorio debian:
$ sudo apt install tomcat8
Y ya tenemos el tomcat funcionando con java de Oracle© en la máquina de nuestro amigo http://direcciondelapi:8080/ :)