如何 运行 GraalVM 本机图像跟踪代理针对 Quarkus Maven 单元测试生成反射-config.json?
How to run GraalVM native-image tracing agent against Quarkus Maven unit tests to generate a reflection-config.json?
我遵循了 Lambda + native-image here 的 Quarkus 项目示例,并且我能够让它工作。但是现在我试图通过向它添加我自己的代码来扩展它,它在库依赖项中使用了一些反射。我正在尝试 运行 将 Quarkus 单元测试与本机图像跟踪代理一起进行以捕获反射 -config.json 但是我无法做到这一点。我尝试了以下方法:
mvn clean package -Djvm.args="-agentlib:native-image-agent=config-output-dir=META-INF/native-image"
运行单元测试,但我没有看到为跟踪代理输出生成的任何内容。
尝试 运行从 Oleg 的回答中选择以下内容
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=...应该可以正常工作。
我遵循了 Lambda + native-image here 的 Quarkus 项目示例,并且我能够让它工作。但是现在我试图通过向它添加我自己的代码来扩展它,它在库依赖项中使用了一些反射。我正在尝试 运行 将 Quarkus 单元测试与本机图像跟踪代理一起进行以捕获反射 -config.json 但是我无法做到这一点。我尝试了以下方法:
mvn clean package -Djvm.args="-agentlib:native-image-agent=config-output-dir=META-INF/native-image"
运行单元测试,但我没有看到为跟踪代理输出生成的任何内容。
尝试 运行从 Oleg 的回答中选择以下内容
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=...应该可以正常工作。