Payara 服务器 5.192:无法在 IntelliJ 上使用 JDK11 启动
Payara server 5.192: cannot start with JDK11 on IntelliJ
我可以通过命令行使用 JDK11 启动 Payara v5.192,但在尝试通过 IntelliJ 启动它后出现以下错误并中断:
-Xbootclasspath/p is no longer a supported option
而且我什至无法再通过终端启动它。
这是 IntelliJ 日志的一部分:
C:\Program Files\Java\jdk-11.0.3\bin\java.exe
-cp
D:/Program Files/payara-5.192/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:NewRatio=2
-Xbootclasspath/p:D:\Program Files\payara-5.192\glassfish/lib/grizzly-npn-bootstrap-1.8.1.jar
[...]
我的项目配置为使用 JDK 11.0.3,可能是什么问题?
编辑:我在 Windows 上使用 IntelliJ 2019.1.3,我在 Debian
上没有遇到这个问题
EDIT2:显然在使用 IntelliJ 启动域后配置发生了变化,这里分别是 domain.xml 之前和之后:https://pastebin.com/HAzFgkGn -> https://pastebin.com/F3r3nWet
我自己在 macOS High Sierra 上遇到了同样的错误。对我来说,原因是 JDK 版本我 运行ning asadmin
默认情况下 (1.8) 与 IntelliJ 在 domain.xml (11.0.1) 中放置的内容之间存在冲突).
除了更新您的 domain.xml 之外,一种解决方法是修复 asadmin 使用的 JDK,例如通过在 glassfish/config/asenv.conf
.
中设置 AS_JAVA
参数
编辑:由于 IntelliJ 附带了一个捆绑的 JDK 1.8,我相信 asadmin 运行 使用它而不是配置的 JDK 11 导致冲突——asadmin 似乎在检查JDK 它是 运行 并且做出了一些(在这种情况下)错误的假设。
编辑 2:JB SDK 不相关。 asadmin 命令是 运行 使用路径中的 JDK,而不是配置到域的命令。如果您的默认(在路径中)JDK 是 <9,并且您配置到您的域的 JDK 是 >=9,您将收到此错误,因为 npn 的 bootclasspath 的参数在 运行宁JDK版.
编辑 3:报告并确认为错误:https://github.com/payara/Payara/issues/4025
编辑 4:修复已合并到存储库,并有望在下个月发布 5.193。
我可以通过命令行使用 JDK11 启动 Payara v5.192,但在尝试通过 IntelliJ 启动它后出现以下错误并中断:
-Xbootclasspath/p is no longer a supported option
而且我什至无法再通过终端启动它。
这是 IntelliJ 日志的一部分:
C:\Program Files\Java\jdk-11.0.3\bin\java.exe
-cp
D:/Program Files/payara-5.192/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:NewRatio=2
-Xbootclasspath/p:D:\Program Files\payara-5.192\glassfish/lib/grizzly-npn-bootstrap-1.8.1.jar
[...]
我的项目配置为使用 JDK 11.0.3,可能是什么问题?
编辑:我在 Windows 上使用 IntelliJ 2019.1.3,我在 Debian
上没有遇到这个问题EDIT2:显然在使用 IntelliJ 启动域后配置发生了变化,这里分别是 domain.xml 之前和之后:https://pastebin.com/HAzFgkGn -> https://pastebin.com/F3r3nWet
我自己在 macOS High Sierra 上遇到了同样的错误。对我来说,原因是 JDK 版本我 运行ning asadmin
默认情况下 (1.8) 与 IntelliJ 在 domain.xml (11.0.1) 中放置的内容之间存在冲突).
除了更新您的 domain.xml 之外,一种解决方法是修复 asadmin 使用的 JDK,例如通过在 glassfish/config/asenv.conf
.
AS_JAVA
参数
编辑:由于 IntelliJ 附带了一个捆绑的 JDK 1.8,我相信 asadmin 运行 使用它而不是配置的 JDK 11 导致冲突——asadmin 似乎在检查JDK 它是 运行 并且做出了一些(在这种情况下)错误的假设。
编辑 2:JB SDK 不相关。 asadmin 命令是 运行 使用路径中的 JDK,而不是配置到域的命令。如果您的默认(在路径中)JDK 是 <9,并且您配置到您的域的 JDK 是 >=9,您将收到此错误,因为 npn 的 bootclasspath 的参数在 运行宁JDK版.
编辑 3:报告并确认为错误:https://github.com/payara/Payara/issues/4025
编辑 4:修复已合并到存储库,并有望在下个月发布 5.193。