5

我是 Openshift 的新手,我使用 Tomcat 7 (JBoss EWS 2.0) 插件为我的 Spring Boot 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/markersjbossews/template/.openshift/markers

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

编辑

下面是目录结构

目录结构

请注意,我使用 open shift UI 而不是使用rhc命令创建了此应用程序。

请指导我。

谢谢

4

2 回答 2

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环境变量设置为指向 jdk8 而不是 jdk7:
rhc 环境设置 OPENSHIFT_JBOSSEWS_JDK7="/etc/alternatives/java_sdk_1.8.0" -a YOURAPPNAME
  • java7标记添加到您的.openshift/markers目录。
于 2016-03-13T08:54:58.373 回答
0

听起来像是糟糕的计划:在编写需要 Java-8 的代码之前,您应该确保您的平台支持 Java-8。从 Openshift 文档中:

3.2. JBoss Enterprise Application Platform 6 支持的 Java 环境 JBoss Enterprise Application Platform 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)。

于 2016-02-19T17:21:25.843 回答