私は知っています WildFlyカートリッジはJDKをサポートしていません 、しかしどういうわけかJava 8を実験的なDIYカートリッジにインストールできますか?Java-1.7.0はで入手可能な最新バージョンです/ usr/lib。
Java8がデフォルトでDIYで利用できるようになりました。 /。openshift/action_hooks/start.shで以下のようにPATHを設定する必要があります
export Java_HOME=/etc/alternatives/Java_sdk_1.8.0
export PATH=$Java_HOME/bin:$PATH
特定のJDKバージョンが必要な場合は、それをダウンロードして環境変数を設定できます。
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"
おかげで このカートリッジ 。
@youssefが指摘しているように、次の行も.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
更新:OpenShiftに代替ランタイムが追加されました。独自のランタイムのダウンロードをスキップできます。
export Java_HOME=/etc/alternatives/Java_sdk_1.8.0
export PATH=$Java_HOME/bin:$PATH
こんにちは、Vert.xアプリケーションのJDKを更新する必要があったので、上記の回答を更新したいと思います。完全にJava8で記述されているため(Vert.xコードの方がはるかに見栄えがします)、juanが報告した問題に遭遇するまで、Openshiftで少し実験を始めました。
ただし、いくつか修正して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
DIYカートリッジでMavenを使用している場合、これは機能しません。
ボックスの「/ usr/bin/mvn」にあるmvnコマンドを見ると、mvnが実行されると$ Java_HOMEがリセットされることがわかります。
#!/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 [〜#〜]
少し頭を悩ませた後、DIYカートリッジでMavenを使用してJava8アプリケーションを実行する方法をようやく理解することができました。 usr/binのmvn実行可能ファイルは良くないことがわかっているので、自分でダウンロードするだけです。 Java_HOMEを尊重する独自のバージョンのMavenができたら、準備は完了です。これが私の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
開始
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 &
これが私と同じくらい多くの時間をこれに費やした他の誰かに役立つことを願っています:)
デフォルトのwildfly8(8.2.1)カートリッジは、すぐに使用できるJDK8をサポートするようになりました。