我们有一个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文件前面的脚本的任何经验,以及是否有任何命令行选项可以禁用它的任何检查操作?
嗨,问题是与任何一种方法。问题似乎是IBM JRE不喜欢Spring Boot在创建可执行jar时添加的嵌入式启动脚本。如果我们删除脚本,那很好。 有趣的是,当使用额外的命令行参数(可以是任何事后(例如'java -jar application.jar -randomextraparameter') – tonyob
),我们已经使用可执行jar运行了一些成功。要么是IBM Java JRE(J9),要么是Spring Boot项目。如果你在https://spring.io/questions上寻求帮助,最好 –