You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus Native测试报错:无法确定运行进程状态

Quarkus Native测试失败:target/quarkus.log为空导致无法检测进程状态

问题详情

  • 基于Quarkus学习项目开发,可正常打包为JAR和Native二进制文件并运行
  • 执行mvn verify -Pnative命令进行Native测试时失败:Maven尝试读取target/quarkus.log中的监听端口与协议信息,但该日志文件无内容,等待60秒后报错提示无法确定运行进程状态

运行环境与配置

  • 系统:macOS Monterey M1
  • 环境配置命令:
sdk install java 17.0.4-oracle
brew install --cask graalvm/tap/graalvm-ce-java17
sdk install maven 3.8.6
sdk install quarkus 2.10.2.Final

xattr -r -d com.apple.quarantine /Library/Java/JavaVirtualMachines/graalvm-ce-java17-22.1.0/Contents/Home
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH
cd $JAVA_HOME/bin
gu install native-image

排查与解决方案

  1. 配置Native模式日志输出
    在application.properties中添加以下配置,确保Native镜像启动时日志输出到指定文件:

    quarkus.log.file.path=target/quarkus.log
    quarkus.log.file.enable=true
    quarkus.log.level=INFO
    
  2. 检查日志扩展依赖
    确认pom.xml中包含文件日志扩展,避免GraalVM构建时丢失日志输出能力:

    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-logging-file</artifactId>
    </dependency>
    
  3. 手动验证Native镜像启动
    直接运行target目录下的Native二进制文件(通常命名为<项目名>-runner),检查是否有日志输出、应用是否正常启动并监听端口。如果手动启动也无日志,需排查GraalVM构建时的依赖打包问题。

  4. 调整测试超时时间
    在pom.xml中修改Quarkus插件配置,延长Native测试的超时时间:

    <plugin>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-maven-plugin</artifactId>
        <version>${quarkus.version}</version>
        <executions>
            <execution>
                <goals>
                    <goal>test-native</goal>
                </goals>
                <configuration>
                    <timeout>120</timeout> <!-- 超时时间改为120秒 -->
                </configuration>
            </execution>
        </executions>
    </plugin>
    
  5. 清理缓存重新构建
    执行以下命令清理构建缓存,重新生成Native镜像并执行测试:

    mvn clean package -Pnative
    mvn verify -Pnative
    
  6. 验证版本兼容性
    确认GraalVM 22.1.0与Quarkus 2.10.2.Final的版本兼容性,M1芯片环境建议使用官方明确支持的版本组合。

内容的提问来源于stack exchange,提问作者ADinhLux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 09:54:24