OpenShift中DIY盒带的JDK 8支持

OpenShift中DIY盒带的JDK 8支持,openshift,java-8,Openshift,Java 8,我知道,但我能在实验DIY盒带上安装Java8吗?java-1.7.0是在/usr/lib上提供的最新版本。如果需要特定的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/8

我知道,但我能在实验DIY盒带上安装Java8吗?java-1.7.0是在/usr/lib上提供的最新版本。

如果需要特定的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\u 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代码看起来更好),我开始用Openshift做一些实验,直到遇到juan报告的问题

但是,我必须修复一些东西并更新到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

如果您将Maven与DIY盒带一起使用,则此操作不起作用

如果查看框中“/usr/bin/mvn”中的mvn命令,您将看到执行时mvn重置$JAVA\u 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 "$@"
更新

经过一番深思熟虑,我终于学会了如何在DIY盒带上使用Maven运行java8应用程序。正如我们所知,usr/bin上的mvn可执行文件是不好的,我们只是下载自己的。一旦我们有了自己版本的Maven,尊重JAVA_主页,我们就可以开始了。这是我的行动钩

启动前

#!/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 &
开始

#!/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 &
export PATH=$OPENSHIFT\u DATA\u DIR/jdk1.8.0\u 05/bin:$PATH
export JAVA_HOME=“$OPENSHIFT_DATA_DIR/jdk1.8.0_05”
cd$OPENSHIFT\u数据\u目录
echo-e“\n$OPENSHIFT\u DATA\u DIR\n\n”>settings.xml
$OPENSHIFT_DATA_DIR/apache-maven-3.3.3/bin/mvn-f$OPENSHIFT_REPO_DIR/pom.xml干净包-s$OPENSHIFT_DATA_DIR/settings.xml
nohup java-jar$OPENSHIFT\u REPO\u DIR/target/**您的\u FAT\u jar**.jar>$LOG 2>&1&

希望这能帮助其他像我一样花了很多时间在这方面的人:)

默认的wildfly 8(8.2.1)盒带现在支持JDK8开箱即用。

Java 8现在默认情况下可以使用DIY。您只需在/.openshift/action\u hooks/start.sh中设置下面给出的路径即可

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

我预计出口也将进入启动阶段。如果我错了,请纠正我!我觉得没必要,这些出口对我来说已经足够了。这是新的DIY吗?甚至在重新启动盒式磁带之后?我还需要在.OPENSHIFT/action\u hooks/pre\u start\u WILDFLY中添加“export-OPENSHIFT\u WILDFLY\u JDK8=$OPENSHIFT\u DATA\u DIR/jdk1.8.0\u 31/”到.OPENSHIFT/action\u hooks/pre\u start\u wildflyse sathish的答案中-DIY包现在包括JDK 1.8,只是默认情况下不在路径上。我有三个位置放置
action\u hooks
哪一个是正确的
/app root/runtime/repo/.openshift/action\u hooks
/code>/app deployments/2015-09-23\u 11-04-35.405/repo/.openshift/action\u hooks/jbossews/template/.openshift/action\u hooks。拜托,这对我不管用。在设置这些导出之后,我仍然看到我的环境使用OpenJDK,有什么想法吗?