2016-02-19 26 views
5

我是Openshift的新手,我創建了一個使用Tomcat 7(JBoss EWS 2.0)彈夾的服務器實例,用於我的彈簧啓動Web應用程序。Openshift在Tomcat 7(JBoss EWS 2.0)中更新java 7到8彈藥盒

最初,Web應用程序使用的是JDK7,並且在Openshift上工作正常。現在爲了一些增強,我們必須切換到JDK8。

我試着在Google上搜索關於將JAVA_HOME更改爲JDK8,我嘗試了大部分解決方案,但是我無法使其工作。

  • 嘗試解決方案1 ​​:創建app-root/runtime/repo/.openshift/action_hooks/start文件下面的內容。

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

    此外,該文件有+x權限。

  • 試圖解決方案2app-root/runtime/repo/.openshift/markersjbossews/template/.openshift/markers下創建java8標記。

上述解決方案不起作用。其他選項是DIY墨盒可以工作,但我不想創建新的應用程序並將所有內容移動到那裏。

編輯

下面是目錄結構

Directory Structure

請注意,我已經建立使用開放式換擋界面和不使用rhc命令該應用程序。

請指導我。

感謝

+0

你能告訴我們你的應用程序庫的目錄結構嗎? '.openshift /'目錄應該位於根文件夾中。檢查[this](https://github.com/Athou/commafeed/tree/master/.openshift)存儲庫。 – zloster

回答

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開發工具包(JDK),運行JBoss企業應用程序平臺需要Java運行時環境(JRE)。

+0

您的回答不正確:問題是有關Tomcat 6/7(JBoss EWS 2.0)**磁帶盒和** NOT **關於JBoss企業級應用程序平臺6. [文檔](https://developers.openshift .com/en/tomcat-getting-started.html#_other_markers)明確指出'Java8'受支持。 – zloster

+0

這是openshift的在線版本嗎?假設它是,那麼爲什麼不直接連接到服務器(ssl)並製作標記並重新啓動服務器。確保它首先工作。 –

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 env set OPENSHIFT_JBOSSEWS_JDK7="/etc/alternatives/java_sdk_1.8.0" -a YOURAPPNAME 
  • java7標記添加到您的.openshift/markers目錄中。
+0

所以基本上你正在運行一個自定義墨盒? – ThomasRS

+0

不,我指的是原來的JBossEWS盒式磁帶:https://github.com/openshift/origin-server/blob/master/cartridges/openshift-origin-cartridge-jbossews/bin/util –

相關問題