我是Openshift的新手,我使用Tomcat 7(JBoss EWS 2.0)磁带为我的Spring启动Web应用程序创建了一个服务器实例。
最初,Web应用程序正在使用JDK7,并且在Openshift上运行良好。现在进行一些改进,我们必须切换到JDK8。
我尝试在Google上搜索有关将JAVA_HOME
更改为JDK8的问题,我尝试了大部分解决方案,但我无法使其正常运行。
尝试过的解决方案1 :在start
下创建了app-root/runtime/repo/.openshift/action_hooks/
个文件,其中包含以下内容。
#!/bin/bash
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
export PATH=$JAVA_HOME:$PATH
此外,该文件具有+x
权限。
尝试过的解决方案2 :在java8
和app-root/runtime/repo/.openshift/markers
下创建了jbossews/template/.openshift/markers
标记。
上述解决方案无效。其他选项是DIY
墨盒可能有用,但我不想创建新应用程序并将所有内容移动到那里。
修改
以下是目录结构
请注意,我使用开放式移植界面创建了此应用程序,而不使用rhc
命令。
请指导我。
由于
答案 0 :(得分:3)
我不得不“欺骗”一点来启用java 8,因为“java8”标记似乎不起作用。查看JbossEWS盒式磁带源:
function export_java_home() {
if marker_present "java7"; then
export JAVA_HOME=$OPENSHIFT_JBOSSEWS_JDK7
else
export JAVA_HOME=$OPENSHIFT_JBOSSEWS_JDK6
fi
}
所以,我的解决方案/解决方法是:
OPENSHIFT_JBOSSEWS_JDK7
环境var设置为指向jdk8而不是jdk7:rhc env set OPENSHIFT_JBOSSEWS_JDK7="/etc/alternatives/java_sdk_1.8.0" -a YOURAPPNAME
java7
标记添加到.openshift/markers
目录。答案 1 :(得分:0)
听起来糟糕的计划:在编写需要它的代码之前,你应该认为你的平台支持Java-8。来自Openshift文档:
3.2。 JBoss企业应用平台支持的Java环境6 JBoss企业应用程序平台6需要Java 6或Java 7.支持的Java环境列表可以在http://www.jboss.com/products/platforms/application/supportedconfigurations/找到。开发需要Java Development Kit(JDK),运行JBoss Enterprise Application Platform需要Java Runtime Environment(JRE)。