我試圖在Heroku雲上使用Cedar堆棧部署簡單的Java EE應用程序。Heroku java.lang.UnsupportedClassVersionErrorUnsupported major.minor版本51.0
即時得到「java.lang.UnsupportedClassVersionError錯誤:COM /應用/對myApp /主:不支持MAJOR.MINOR版本51.0(無法加載類com.app.myApp.main「
這意味着,即時通訊具有更高的JDK版本比Heroku的JVM版本進行編譯。 我指定「java.runtime.version = 1.7」我「system.properties」文件。
我試圖JDK與這些其他JDK編譯版本:
•jdk1.7.0_55
•jdk1.7.0_51
•jdk1.7.0_07
例如,當我試圖 「jdk1.7.0_07」,以確認,即時通訊使用正確的JDK版本jdk1.7.0_07編譯,我發出的 「的javac -version」,得到了:
比我還檢查了Eclipse使用正確的JDK版本jdk1.7.0_07:
比我編譯&使用「MVN清潔包」,比我部署使用創建WAR 「Heroku的部署:戰爭--war myApp.war --app對myApp」
但我仍然得到:
「java.lang.UnsupportedClassVersionError:com/app/myApp/main:Unsupported major.minor version 51.0(無法加載類com.app.myApp.main」
而且比我試過JDK 6版本,以防萬一Heroku的JVM是versio 6
使用system.properties文件「java.runtime.version = 1.6
•jdk1.6.0_45
•jdk1.6.0_34
我編譯/打包&部署,但我仍然得到:
「java.lang.UnsupportedClassVersionError錯誤:COM /應用/對myApp /主:不支持MAJOR.MINOR版本51.0(無法加載類com.app.myApp.main」
最後說,這就夠了,想跑「heroku run bash」讓我可以遠程進入heroku &試圖找到JVM版本;或者將「java -version」或「cd」發佈到「。JDK」路徑&實際檢查b UT我一直認爲正在使用的JVM,不斷收到‘超時等待的過程’...... **沒有bash的控制檯。**
因此什麼是真正的JVM版本安裝在Heroku實例&怎麼能找出?
感謝
看來我的Heroku實例有JRE 6,那接受不晚於JDK 6編譯的代碼。 – cyber101