java - openshift 设置 env jdk8

标签 java variables tomcat openshift

我在 openshift 平台上有 2 个 Cartridge

  • Tomcat 7 (JBoss EWS 2.0)
  • PostgreSQL 9.2

我还预编译了 war 文件,我想将其部署在我的 openshift git 存储库(推送到远程服务器)的 weapps/目录中。

问题是 war 文件被编译为在 1.8jre 中运行,默认 jre 是 1.7

我在目录的 repo 中创建了名为 start 的简单可执行 shell 脚本

.openshift/action_hooks/

#!/bin/bash

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

但在重启应用程序后 rhc app-restart myApp 系统变量 JAVA_HOME 仍被设置回 jdk7。

能指出问题出在哪里吗?

最佳答案

您使用的脚本是正确的,并且必须有效。在 action_hooks/start 脚本中,添加以下行。

#!/bin/bash
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
export PATH=$JAVA_HOME/bin:$PATH
echo $(java -version)
echo 'Starting application...'

您必须看到 java 8。无论何时启动您的应用程序,它都应该是相同的。

关于java - openshift 设置 env jdk8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37882250/

相关文章:

java - Jasper Unicode 问题与字段引用但不是资源包引用

c - C 中值的范围

bash 变量分别捕获 stderr 和 stdout 或获取退出值

java - JSP 的 <% %> 与 <? ?> 对于 PHP?

java - Web 应用程序创建了一个 ThreadLocal,但未能将其删除 Tomcat [SEVERE]

Java - 使用输入掩码 xxxxxxx 循环遍历所有输入,其中 x = 0 或 1

java - 在 JVM 中清理 DNS 服务器

java - Android - 按钮 : Receiving through data through intents/other methods

c - 无法理解表达式如何变得错误

java - 错误: option -Xbootclasspath/p: not allowed with target 13 with netbean 11. 3、jdk 13.0.1