2016-02-19 17 views
5

Sono nuovo su Openshift e ho creato un'istanza del server utilizzando la cartuccia Tomcat 7 (JBoss EWS 2.0) per la mia applicazione web di avvio a molla.Openshift update java 7 to 8 in Tomcat 7 (JBoss EWS 2.0) Cartuccia

Inizialmente, l'applicazione Web utilizzava JDK7 e funzionava perfettamente su Openshift. Ora, per migliorare, dobbiamo passare a JDK8.

Ho provato a cercare su Google di cambiare JAVA_HOME in JDK8 e ho provato la maggior parte delle soluzioni ma non riesco a farlo funzionare.

  • provato Soluzione 1: creato start file con app-root/runtime/repo/.openshift/action_hooks/ con sotto il soddisfare.

    #!/bin/bash export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0 export PATH=$JAVA_HOME:$PATH

    Inoltre, il file ha +x permesso.

  • provato Soluzione 2: Creato java8 marcatore sotto app-root/runtime/repo/.openshift/markers e jbossews/template/.openshift/markers.

Le soluzioni di cui sopra non funzionano. Un'altra opzione è la cartuccia DIY che potrebbe funzionare ma non voglio creare nuove applicazioni e spostare tutto lì.

EDIT

Di seguito si riporta la struttura delle directory

Directory Structure

Si prega di notare che ho creato questa applicazione utilizzando aperta UI turno e che non utilizzano rhc comando.

Per favore guidami.

Grazie

+0

Puoi mostrarci la struttura di directory del tuo repository di applicazioni? La directory '.openshift /' dovrebbe trovarsi nella cartella principale. Ad esempio, controlla il repository [https://github.com/Athou/commafeed/tree/master/.openshift]. – zloster

risposta

0

Suona come una cattiva programmazione: Si suppone a che la vostra piattaforma supporti Java-8 prima di scrivere il codice che lo richiede. Dalla documentazione di Openshift:

3.2. Ambienti Java supportati dalla piattaforma applicativa JBoss Enterprise 6 JBoss Enterprise Application Platform 6 richiede Java 6 o Java 7. L'elenco degli ambienti Java supportati è disponibile al numero http://www.jboss.com/products/platforms/application/supportedconfigurations/. Per lo sviluppo è necessario un Java Development Kit (JDK) e per eseguire JBoss Enterprise Application Platform è richiesto un Java Runtime Environment (JRE).

+0

La tua risposta non è corretta: la domanda riguarda ** Cartuccia Tomcat 6/7 (JBoss EWS 2.0) ** e ** NOT ** su JBoss Enterprise Application Platform 6. La [documentazione] (https: //developers.openshift .com/it/tomcat-getting-started.html # _other_markers) afferma chiaramente che 'Java8' è supportato. – zloster

+0

È la versione online di openshift? Supponendo che lo sia, allora perché non collegarsi direttamente al server (ssl) e fare il marcatore e riavviare il server. Assicurati che funzioni prima. –

3

Ho dovuto "barare" un po 'per abilitare java 8, poiché il marcatore "java8" non sembra funzionare.Guardare il sorgente della cartuccia JbossEWS:

function export_java_home() { 
    if marker_present "java7"; then 
    export JAVA_HOME=$OPENSHIFT_JBOSSEWS_JDK7 
    else 
    export JAVA_HOME=$OPENSHIFT_JBOSSEWS_JDK6 
    fi 
} 

Quindi, la mia soluzione/soluzione è:

  • impostare il vostro OPENSHIFT_JBOSSEWS_JDK7 ambiente var per puntare a jdk8 invece di jdk7:
rhc env set OPENSHIFT_JBOSSEWS_JDK7="/etc/alternatives/java_sdk_1.8.0" -a YOURAPPNAME 
  • Aggiungi il marcatore java7 alla directory .openshift/markers.
+0

Quindi in pratica hai una cartuccia personalizzata? – ThomasRS

+0

No, mi riferivo alla cartuccia JBossEWS originale: https://github.com/openshift/origin-server/blob/master/cartridges/openshift-origin-cartridge-jbossews/bin/util –