我试图弄清楚如何将GraalVM native image agent与通过mvn quarkus:dev
运行的Quarkus应用程序一起使用。
我尝试跑步:
mvn quarkus:dev -Djvm.args="-agentlib:native-image-agent=config-output-dir=native-image-config"
但是我得到了错误:
ERROR: JDWP unable to get necessary JVMTI capabilities.
有什么提示吗?
我的Java版本:
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment GraalVM CE 20.2.0 (build 11.0.8+10-jvmci-20.2-b03)
OpenJDK 64-Bit Server VM GraalVM CE 20.2.0 (build 11.0.8+10-jvmci-20.2-b03, mixed mode, sharing)
答案 0 :(得分:1)
默认情况下,mvn quarkus:dev
使用-Xrunjdwp
启用调试,类似于-Xrunjdwp:transport=dt_socket,address=0.0.0.0:5005,server=y,suspend=n
然后您偶然发现此answer中描述的问题-简而言之,JDWP和JVMTI似乎无法很好地协同工作。
您可以通过传递-Ddebug=false
来禁用调试,然后它可以工作。像这样:
mvn quarkus:dev -Ddebug=false -Djvm.args="-agentlib:native-image-agent=config-output-dir=native-image-config"