我正在接近Jakarta 9,而且我似乎理解GF6只在JDK 8 .On上运行,而另一边Jakarta 9与JDK 8兼容,那么这个在GF 6上开发和运行EE 9应用程序的许可,好吧,但我怀疑:
发布于 2021-02-22 21:11:25
确实,Jakarta 9与Jakarta 8本质上完全相同,但是在整个重命名为jakarta.*的源代码中都使用了jakarta.*包/前缀。因此,最低所需的Java版本也仍然是1.8。重要的是,因为TCK测试仍然需要最少的JavaSE1.8。
但是,对于GlassFish 6.0.0来说,幕后的故事就有点不同了。虽然它仍然最低限度地需要Java 1.8,但它本身并不兼容Java 11或更高版本。也就是说,您甚至不能使用Java 11执行GlassFish核心引擎。
JVM启动失败: com.sun.enterprise.admin.launcher.GFLauncherException:服务器过早退出,退出代码1。
这个特定的问题实际上不同于Jakarta本身的Java兼容性,也不同于其他Jakarta服务器,这些服务器本身也可以与较新的Java版本兼容。
例如,WildFly 22+完全兼容Java 11 (甚至一直到当前可用的15),因此您可以在Java版本最多为15的WildFly上安全地运行Jakarta 9应用程序。
在Jakarta 9发布之前,曾计划使Java6.0.0 Java 11兼容,但不幸的是,由于缺乏开放源代码提交人的时间,这一计划未能实现。目前正在进行一项GlassFish 6.1.0工作,这将使其最终与Java 11兼容(希望也能更新)。
发布于 2021-02-22 17:24:22
现在就开始是有意义的,因为稍后更新到Jakarta 10会更容易。
Jakarta 9与Jakarta 8几乎相同,它只是将所有API特定页面移动到雅加达命名空间。它没有带来任何新特性,因此现在不需要进行JDK升级。
您可以在这里找到更详细的信息:
https://stackoverflow.com/questions/66308273
复制相似问题