在Tomcat 7(JBoss EWS 2.0)盒式磁带中Openshift更新java 7到8

时间:2016-02-19 15:00:48

标签: java openshift openshift-cartridge

我是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 :在java8app-root/runtime/repo/.openshift/markers下创建了jbossews/template/.openshift/markers标记。

上述解决方案无效。其他选项是DIY墨盒可能有用,但我不想创建新应用程序并将所有内容移动到那里。

修改

以下是目录结构

Directory Structure

请注意,我使用开放式移植界面创建了此应用程序,而不使用rhc命令。

请指导我。

由于

2 个答案:

答案 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)。