JDK 8 support at DIY cartridge in OpenShift

前端 未结 5 1570
甜味超标
甜味超标 2020-11-30 07:44

I know WildFly cartridge doesn\'t have JDK support, but can I somehow install Java 8 at experimental DIY cartridge? java-1.7.0 is the latest version available at /usr/lib .<

5条回答
  •  旧时难觅i
    2020-11-30 08:23

    This does not work if you are using Maven with the DIY-Cartridge.

    If you look at the mvn command in "/usr/bin/mvn" on your box you will see that mvn resets $JAVA_HOME when executed.

    #!/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 "$@"
    

    UPDATE

    After a bit of head scratching I was finally able to work out how to run a java8 application using Maven on a DIY cartridge. As we know the mvn executable on usr/bin is no good, we simply download our own. Once we have our own version of Maven which respects JAVA_HOME then we are good to go. Here are my action_hooks...

    pre_start

    #!/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
    

    start

    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  "\n $OPENSHIFT_DATA_DIR\n\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 &
    

    Hope this helps anyone else who put as many hours in to this as I did :)

提交回复
热议问题