我们有一个 Spring Boot 应用程序,它被构建为一个可执行的 jar,并且使用 Oracle 和 OpenJDK JRE(使用 1.8 版本)运行良好。
但是,尝试使用 IBM 1.8 JRE 运行它会导致命令行出现以下错误。
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
如果我们执行 jar (using ./application.jar
) 或 usingjava -jar application.jar
这导致我们更改打包以不使 jar 可执行,这允许我们使用java -jar application.jar
. 因此,IBM JRE 似乎不喜欢启动脚本。
问题是如果可能的话,我们不希望为不同的部署环境使用两种打包方法。
有没有人知道为什么 IBM JRE 不喜欢 jar 文件前面的脚本,以及是否有任何命令行选项可以禁用任何检查它的功能?