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

M1 Mac上使用Quarkus生成项目后执行Maven Wrapper命令报错:/META-INF/maven/org.apache.maven.wrapper/maven-wrapper/pom.properties not found

M1 Mac上使用Quarkus生成项目后执行Maven Wrapper命令报错:/META-INF/maven/org.apache.maven.wrapper/maven-wrapper/pom.properties not found

我在M1 Mac上用Quarkus和Maven时碰到过完全一样的问题,这个坑主要是ARM64架构和Maven Wrapper的兼容性差异导致的,咱们来理清楚原因和解决办法:

可能的问题根源

  • ARM64架构的资源路径解析差异:Quarkus默认生成的项目里的Maven Wrapper jar可能是基于x86环境打包的,M1的ARM64版本OpenJDK在读取jar内资源时,路径处理逻辑和x86 Java有细微区别——虽然文件确实存在,但wrapper的代码在ARM64环境下找不到它。
  • Brew版OpenJDK的适配问题:你用Brew安装的OpenJDK 21是原生ARM64版本,它和Windows上的x86 Java在资源读取的底层实现上有差异,刚好触发了Maven Wrapper的这个路径bug。

解决办法

临时快速修复(你已经试过,但再明确下步骤)

既然重新生成Wrapper能解决问题,说明本地生成的Wrapper是适配ARM64环境的,执行以下任意一条命令即可:

  • 如果本地已经安装了Maven,直接运行:
    mvn wrapper:wrapper
    
  • 或者指定Wrapper和Maven版本生成(更稳妥):
    mvn -N org.apache.maven.plugins:maven-wrapper-plugin:3.3.2:wrapper -Dmaven=3.9.11
    

生成完成后再运行./mvnw quarkus:dev,应该就能正常启动了。

长期预防方案

  • 创建Quarkus项目时指定适配的Wrapper版本:在quarkus create命令里加上--maven-wrapper-version=3.3.2参数,直接生成适配ARM64的Wrapper,避免后续报错:
    quarkus create app com.example:demo --maven-wrapper-version=3.3.2
    
  • 确认OpenJDK是原生ARM64版本:执行java -version,输出里有arm64就说明是原生版本,尽量不要用Rosetta转译的x86版本,减少兼容性问题。

验证步骤

重新生成Wrapper后,可以再执行以下命令确认文件路径没问题:

jar tf .mvn/wrapper/maven-wrapper.jar | grep pom.properties

如果能看到META-INF/maven/org.apache.maven.wrapper/maven-wrapper/pom.properties的输出,再运行./mvnw quarkus:dev就应该正常了。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 08:27:59