当前位置: 首页 > 知识库问答 >
问题:

如何在Quarkus中使用GraalVM本机映像代理?

云英才
2023-03-14

我正在试图弄清楚如何通过mvn Quarkus:dev将GraalVM本机映像代理与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)

共有1个答案

梁丘威
2023-03-14

默认情况下,mvnQuarkus:dev启用调试与-Xrunjdwp,类似-Xrunjdwp:传输=dt_socket,地址=0.0.0.0:5005,服务器=y,挂起=n

然后你偶然发现了这个答案中描述的一个问题——简言之,JDWP和JVMTI似乎不能很好地协同工作。

您可以通过传递-Ddebug=false来禁用调试,然后它就可以工作了。比如:

mvn quarkus:dev -Ddebug=false -Djvm.args="-agentlib:native-image-agent=config-output-dir=native-image-config"
 类似资料:
  • 亲爱的,我下面的原生图像构建教程由Quarkus创建原生graalvm,但我得到了下面的错误: 我的环境:OS:CentOS 7 Quarkus:0.11.0 Java:Open JDK 1.8.0_181 GraalVM:1.0.0-rc13 使用quarkus在你的应用程序中没有主要方法,但如何使用graal原生图像使其工作?

  • 我正在尝试用Dockers创建一个GraalVM本地映像。我已经创建了一个Micronaut项目,并成功创建了jar应用程序,并在docker中运行;此外,我已经用这个jar文件创建了一个GraalVM本机映像,现在可以运行这个应用程序,但我需要在docker中运行一个GraalVM本机映像,在论坛中寻找答案。我发现有必要在docker中构建本机映像。因此我尝试了这个docker文件: 它不会抛出

  • Quarkus文档解释了如何使用Maven构建docker映像。但我在利用Gradle和Kotlin。我正在想办法做这些步骤: 首先,我想我想要一个包含gradle而不是maven的图像(Quay.io似乎没有)。然后,我必须考虑我还需要复制什么(而不是pom.xml),也许???其次,我相信这个图像也包含了GraalVM。所以我不确定我能在那里做些什么。 我必须使用Maven吗?我真的真的不想。

  • 失败:生成失败,出现异常。 错误:执行任务“:QuarkusBuild”失败。Io.Quarkus.Builder.BuildException:生成失败:由于错误导致生成失败[error]:生成步骤Io.Quarkus.Deployment.Pkg.Steps.NativeImageBuildStep#Build引发异常:java.lang.RuntimeException:未能在io.Quar

  • 我正在试验在GraalVM本机映像中从Java代码运行JS脚本。 Java代码如下所示: JS代码只是通过调用对象上的一个方法来尝试使用它,例如: 当在GraalVM中运行时,这项功能有效,但当创建本机映像时,它会失败,并出现以下错误: 如果我只是像在

  • 我已经成功地用Quarkus/Graal构建了一个本机映像,我可以在终端中运行它(还没有容器)。但是,它会因“分段错误(堆芯转储)”消息而崩溃。如何获得有关错误的更多信息?是否有标志要传递给本机可执行文件或在构建映像时传递? 我使用的是GraalVM版本20.2.0(Java版本11.0.8) 任何帮助都是非常感激的。 谢谢