2017-06-28 72 views
0

我們有一個Spring Boot應用程序,該應用程序構建爲可執行的jar並使用Oracle和OpenJDK JRE(使用1.8版本)運行良好。無法使用IBM JRE啓動Spring Boot可執行文件jar 1.8

試圖使用IBM 1.8 JRE運行它,但是會在命令行中導致以下錯誤。

Error: Could not create the Java Virtual Machine. 
Error: A fatal exception has occurred. Program will exit. 

如果我們執行(使用./application.jar),或使用java -jar application.jar

這使我們改變包裝不使罐子可執行的JAR會出現這種情況,這使我們能夠開始使用java -jar application.jar應用。所以看起來IBM JRE不喜歡啓動腳本。

問題是,如果可能的話,我們不希望爲不同的部署環境提供兩種打包方法。

有沒有人有過爲什麼IBM JRE不喜歡jar文件前面的腳本的任何經驗,以及是否有任何命令行選項可以禁用它的任何檢查操作?

回答

0

從您的文章,目前還不清楚,如果你有運行與 1的問題)從Linux上運行的罐子像一個搭配chmod + X application.jar和執行 或者 2)通過的/ opt/IBM/JAVA/JRE /斌/ java -jar application.jar

對於選項1),這不是一個好主意,因爲你沒有明確選擇jvm二進制文件,並依靠操作系統爲你選擇一個。閱讀關於binfmt_misc機制 :

https://en.m.wikipedia.org/wiki/Binfmt_misc

選項2) - 它可能是類加載問題,請加 的/ opt/IBM/JAVA/JRE /斌/ java的-verbose:類罐子應用。罐

並在這裏諮詢文檔:https://www.ibm.com/developerworks/library/j-dclp1/index.html

+0

嗨,問題是與任何一種方法。問題似乎是IBM JRE不喜歡Spring Boot在創建可執行jar時添加的嵌入式啓動腳本。如果我們刪除腳本,那很好。 有趣的是,當使用額外的命令行參數(可以是任何事後(例如'java -jar application.jar -randomextraparameter') – tonyob

+0

),我們已經使用可執行jar運行了一些成功。要麼是IBM Java JRE(J9),要麼是Spring Boot項目。如果你在https://spring.io/questions上尋求幫助,最好 –

相關問題