starter - Soporte JDK 8 en cartucho DIY en OpenShift
openshift vs kubernetes (5)
El cartucho predeterminado de wildfly 8 (8.2.1) ahora es compatible con JDK8.
Sé que el cartucho WildFly no es compatible con JDK , pero ¿puedo instalar Java 8 en el cartucho experimental DIY? java-1.7.0 es la última versión disponible en / usr / lib.
Esto no funciona si está utilizando Maven con el cartucho de bricolaje.
Si observa el comando mvn en "/ usr / bin / mvn" en su caja, verá que mvn restablece $ JAVA_HOME cuando se ejecuta.
#!/bin/sh
prog=$(basename $0)
export JAVA_HOME=/usr/lib/jvm/java
export JAVACMD=$JAVA_HOME/bin/java
export M2_HOME=/usr/share/java/apache-maven-3.0.4
exec $M2_HOME/bin/$prog "$@"
ACTUALIZAR
Después de rascarme un poco la cabeza, finalmente pude averiguar cómo ejecutar una aplicación java8 utilizando Maven en un cartucho de bricolaje. Como sabemos, el ejecutable mvn en usr / bin no es bueno, simplemente descargamos el nuestro. Una vez que tengamos nuestra propia versión de Maven que respeta a JAVA_HOME, estaremos listos. Aquí están mis action_hooks ...
pre inicio
#!/bin/bash
cd $OPENSHIFT_DATA_DIR
#Download Maven If not already installed
if [ ! -d apache-maven-3.3.3 ]; then
wget http://www.eu.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
tar -zxf apache-maven-3.3.3-bin.tar.gz
fi
#Download Java8 If not already installed
if [ ! -d jdk1.8.0_05 ]; then
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.tar.gz
tar -zxf jdk-8u5-linux-x64.tar.gz
fi
comienzo
export PATH=$OPENSHIFT_DATA_DIR/jdk1.8.0_05/bin:$PATH
export JAVA_HOME="$OPENSHIFT_DATA_DIR/jdk1.8.0_05"
cd $OPENSHIFT_DATA_DIR
echo -e "<settings>/n <localRepository>$OPENSHIFT_DATA_DIR</localRepository>/n</settings>/n" > settings.xml
$OPENSHIFT_DATA_DIR/apache-maven-3.3.3/bin/mvn -f $OPENSHIFT_REPO_DIR/pom.xml clean package -s $OPENSHIFT_DATA_DIR/settings.xml
nohup java -jar $OPENSHIFT_REPO_DIR/target/**YOUR_FAT_JAR**.jar > $LOG 2>&1 &
Espero que esto ayude a cualquiera que dedique tantas horas a esto como yo lo hice :)
Hola, quiero actualizar la respuesta anterior, ya que tuve la misma necesidad de actualizar el JDK para mi aplicación Vert.x. Ya que está totalmente escrito en Java8 (el código Vert.x se ve mucho mejor con él) comencé a experimentar un poco con Openshift, hasta que encontré el problema que reportó juan.
Sin embargo, tuve que arreglar algunas cosas y actualizar a JDK1.8u20:
// connect with SSH to your application, then
cd $OPENSHIFT_DATA_DIR
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u20-b26/jdk-8u20-linux-x64.tar.gz
tar -zxf jdk-8u20-linux-x64.tar.gz
export PATH=$OPENSHIFT_DATA_DIR/jdk1.8.0_20/bin:$PATH
export JAVA_HOME=$OPENSHIFT_DATA_DIR/jdk1.8.0_20/
// then depending on your cartridge you need to exec the following command
echo $JAVA_HOME > $OPENSHIFT_{cartridge}_DIR/env/JAVA_HOME
// in my case was
// echo $JAVA_HOME > $OPENSHIFT_VERTX_DIR/env/JAVA_HOME
// for Wildfly I presume it is
// echo $JAVA_HOME > $OPENSHIFT_WILDFLY_DIR/env/JAVA_HOME
Java 8 ya está disponible por defecto con DIY. Solo necesita establecer la ruta como se indica a continuación en su /.openshift/action_hooks/start.sh
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
export PATH=$JAVA_HOME/bin:$PATH
Si desea una versión específica de JDK, puede descargarla y establecer las variables de entorno:
cd $OPENSHIFT_DATA_DIR
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.tar.gz
tar -zxf jdk-8u5-linux-x64.tar.gz
export PATH=$OPENSHIFT_DATA_DIR/jdk1.8.0_05/bin:$PATH
export JAVA_HOME="$OPENSHIFT_DATA_DIR/jdk/jdk1.8.0_05"
Gracias a este cartucho .
Como @youssef señala, también debe agregar estas líneas a .openshift / action_hooks / start:
export JAVA_HOME="$OPENSHIFT_DATA_DIR/jdk/jdk1.8.0_05"
export PATH=$OPENSHIFT_DATA_DIR/jdk1.8.0_05/bin:$PATH
ACTUALIZACIÓN: ahora OpenShift ha agregado tiempos de ejecución alternativos, puedes omitir la descarga de los tuyos:
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
export PATH=$JAVA_HOME/bin:$PATH