我可以通过命令行使用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
答案 0 :(得分:1)
我自己在macOS High Sierra上遇到了相同的错误。对我来说,原因是我默认运行的asadmin
的JDK版本(1.8)与IntelliJ在domain.xml中输入的内容(11.0.1)之间存在冲突。
除了更新您的domain.xml之外,一种解决方法是修复asadmin使用的JDK,例如通过在AS_JAVA
中设置glassfish/config/asenv.conf
参数。
编辑:由于IntelliJ附带捆绑的JDK 1.8,因此我相信使用该命令运行asadmin而不是配置的JDK 11会引起冲突-asadmin似乎要检查运行它的JDK并制作一些(在这种情况下)错误的假设。
编辑2:与JB SDK无关。 asadmin命令是使用路径中的JDK运行的,而不是使用配置到域中的JDK运行的。如果默认(在路径中)JDK为<9,并且配置到域的JDK为> = 9,则将出现此错误,因为npn的bootclasspath的参数在运行的JDK版本上进行了参数设置。
编辑3:报告并确认为错误:https://github.com/payara/Payara/issues/4025
编辑4:该修补程序已合并到存储库中,并有望在下个月发布5.193版本。