如何针对Quarkus Maven单元测试运行GraalVM原生图像跟踪代理以生成反射配置.json



我在这里遵循了Lambda+原生图像的Quarkus项目示例,并能够使其发挥作用。然而,现在我正试图通过添加我自己的代码来扩展它,这在库依赖关系中使用了一些反射。我正在尝试运行Quarkus单元测试,以与本地图像跟踪代理一起捕获reflection-config.json,但我无法做到这一点。我尝试了以下方法:

mvn clean package -Djvm.args="-agentlib:native-image-agent=config-output-dir=META-INF/native-image"

运行单元测试,但我没有看到为跟踪代理输出生成任何内容。

尝试运行以下从奥列格的答案在这里

mvn quarkus:dev -Ddebug=false -Djvm.args="-agentlib:native-image-agent=config-output-dir=native-image-config"

也没有看到任何输出。

要让代理在运行测试时运行,请执行以下操作:

<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire-plugin.version}</version>
<!-- Add the rest of your options -->
<configuration>
<!-- Add the rest of your configuration --> 
<argLine>-agentlib:native-image-agent=config-output-dir=META-INF/native-image</argLine>
</configuration>

对于开发模式,-Djvm.args=…应该可以正常工作。

最新更新