ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

mvnd安装与 IDEA 集成

mvnd安装与 IDEA 集成 mvnd安装与 IDEA 集成手册Maven Daemon (mvnd) 安装与 IDEA 集成手册1. mvnd 是什么2. 版本选择关键别装错3. 下载安装无 choco/scoop手动 zip4. 环境变量配置5. 安装验证6. 调优配置 mvnd.properties配置项速查7. IDEA 集成配置第 1 步改 Maven home path第 2 步确认 settings.xml一般不用动第 3 步Apply → OK第 4 步验证8. 命令行使用9. 常见问题排查坑 1The builder requested using id parallel cannot be found坑 2StaleAddressException: Could not receive a message from the daemon坑 3git-bashMSYS下 mvnd 必崩坑 4IDEA 不认 mvnd坑 5IDEA 里 VM options 不生效坑 6Unsupported major version10. 回退 / 卸载11. 本机最终配置速查Maven Daemon (mvnd) 安装与 IDEA 集成手册适用环境Windows 10 / JDK 11 / 64G 内存 / 12 核实测版本mvnd 1.0.6Maven 3.9.16 内核最后更新2026-08-121. mvnd 是什么mvndMaven Daemon是 Apache 官方推出的 Maven 加速方案对标 Gradle daemon后台常驻一个 JVM 守护进程构建任务复用同一 JVM 与类加载器消除每次构建的 JVM 冷启动、类加载、依赖解析开销内核就是 Maven 本身mvnd 1.0.x 基于 Maven 3.9.x不改变构建逻辑pom.xml、插件、settings.xml 行为与普通mvn完全一致多模块项目支持依赖感知的智能并行构建默认smartbuilder收益主要在冷启动与短任务clean/package 小模块、多模块依赖解析中型项目通常快 20%~70%若耗时大头是 Java 编译本身收益有限2. 版本选择关键别装错下载地址mvnd 版本内核JDK 要求结论1.0.x1.0.4 / 1.0.5 / 1.0.6Maven 3.9.xJDK 8✅JDK 11 用这个2.xMaven 4JDK 17❌ JDK 11 会报Unsupported major version本机当前环境已确认JDK 11D:\01soft\00jdk\jdk11JAVA_HOME已配置原 Maven 3.6.1D:\01soft\08apache-maven-3.6.1\apache-maven-3.6.1本地仓库D:\01soft\08apache-maven-3.6.1\apache-maven-3.6.1\repository2.2G 缓存mvnd 直接复用无需重新下载3. 下载安装无 choco/scoop手动 zip打开 GitHub Releases 页https://github.com/apache/maven-mvnd/releases选最新 1.0.x下载 Windows 版✅ 文件maven-mvnd-1.0.x-windows-amd64.zip❌ 不要下-bin.zipLinux 版、-src.zip源码解压到固定目录例如D:\01soft\08mvnd\maven-mvnd-1.0.6-windows-amd64确认目录结构内含bin\mvnd.cmd、bin\mvnd.exe、mvn\、conf\不需要安装 Maven——mvnd 自带完整 Maven 内核4. 环境变量配置Win 键→ 输入环境变量 → 打开编辑系统环境变量→ 环境变量变量值MVND_HOMED:\01soft\08mvnd\maven-mvnd-1.0.6-windows-amd64Path追加一行%MVND_HOME%\bin⚠️ 改完环境变量必须重开终端才生效。5. 安装验证打开CMD不是 git-bash原因见 §9 坑 3mvnd -v正常输出示例本机实测Apache Maven Daemon (mvnd) 1.0.6 windows-amd64 native client (...) Terminal: org.jline.terminal.impl.jni.win.NativeWinSysTerminal Apache Maven 3.9.16 (...) Maven home: D:\01soft\08mvnd\maven-mvnd-1.0.6-windows-amd64\mvn Java version: 11, vendor: Oracle Corporation, runtime: D:\01soft\00jdk\jdk11首次运行会拉起 daemon看到版本信息即成功。6. 调优配置 mvnd.properties配置文件位置C:\Users\19095\.m2\mvnd.properties不存在就新建。本机已配置的最终可用版本# mvnd 1.0.6 调优配置 # 构建工作线程数 # 12 核留 2 核给 IDEA/系统设 10超过 CPU 核数没有意义反而因线程切换降性能 mvnd.threads10 # daemon JVM 内存 # 64G 内存给 daemon 6G 堆大型多模块项目如 SPD默认 1g 不够 # MaxMetaspaceSize 控制类元数据区大项目给 1g mvnd.jvmArgs-Xmx6g -XX:MaxMetaspaceSize1g # ⚠️ 不要配 mvnd.builderparallel # mvnd 1.0.6 没有 idparallel 的 builder配置后构建直接报错 # The builder requested using id parallel cannot be found # 默认 smart builder 本身就是依赖感知的智能并行无需显式配置 # daemon 空闲保活时间 # ⚠️ 必须带单位裸数字按毫秒解析12 12msdaemon 会在构建完成后立即自杀 # 客户端收不到最终结果报 StaleAddressException。12h 12 小时 mvnd.keepAlive12h改完执行mvnd :restart重启 daemon 生效。配置项速查配置项作用本机建议值坑mvnd.threads构建线程数10超过核数反而降性能mvnd.jvmArgsdaemon JVM 参数-Xmx6g -XX:MaxMetaspaceSize1g无mvnd.keepAlivedaemon 空闲保活12h必须带单位裸数字毫秒mvnd.builder构建器不配置默认 smart无 parallel id配了直接报错maven.settingssettings.xml 覆盖路径不需要settings.xml 在~/.m2/会自动读取7. IDEA 集成配置File → SettingsCtrl Alt S→ 左侧展开Build, Execution, Deployment → Build Tools → Maven第 1 步改 Maven home path点击Maven home path右侧的...按钮选择目录D:\01soft\08mvnd\maven-mvnd-1.0.6-windows-amd64⚠️ 指向顶层含bin、mvn两个子目录的那层不要指到bin或mvn里面选择后 IDEA 自动识别Maven 版本行变为Maven: mvnd 1.0.6IDEA 2021.1 原生支持无需安装插件第 2 步确认 settings.xml一般不用动同一页往下看User settings file一栏勾选Override路径为C:\Users\19095\.m2\settings.xmlLocal repository 自动跟随显示为D:\01soft\08apache-maven-3.6.1\apache-maven-3.6.1\repository⚠️不要手动改 Local repository 那一栏它会从 settings.xml 自动读取第 3 步Apply → OK第 4 步验证右侧Maven 工具窗View → Tool Windows → Maven顶部刷新按钮旁显示mvnd字样对任一模块点clean/package构建日志开头出现 mvnd 相关输出[IJ]-xxx-...标记即 mvnd 的事件流构建完成后任务管理器可见常驻的mvnd.exedaemon进程8. 命令行使用:: 日常构建替代 mvn参数完全一致 mvnd clean package -DskipTests mvnd clean install -DskipTests :: 多模块指定构建 mvnd -pl spd-modules-xxx -am install :: daemon 管理 mvnd :restart :: 重启 daemon改 mvnd.properties 后执行 mvnd :q :: 优雅停止当前构建 mvnd --status :: 查看 daemon 状态9. 常见问题排查坑 1The builder requested using id parallel cannot be found原因mvnd.properties里配了mvnd.builderparallelmvnd 1.0.6 没有该 builder解决删掉该行默认smart就是并行重启 daemon坑 2StaleAddressException: Could not receive a message from the daemon原因mvnd.keepAlive12裸数字被解析为12msdaemon 构建完成后立即自杀客户端收不到最终结果日志里可见-Dmvnd.keepAlive12ms解决改mvnd.keepAlive12hDuration 类配置项必须带单位h/m/s/ms注意构建本身可能已成功模块日志全部Succeeded只是结果汇报失败坑 3git-bashMSYS下 mvnd 必崩症状java.lang.ExceptionInInitializerError/NoClassDefFoundError: Could not initialize class org.mvndaemon.mvnd.nativ.CLibrary原因MSYS 把TMP/TEMP改写为D:\c\Users\...原生路径被转换native 客户端加载 DLL 失败解决在真实 CMD/PowerShell 窗口执行 mvnd不要在 git-bash 里跑无效尝试MSYS_NO_PATHCONV1、cmd 内 set TMP/TEMP实测均无效坑 4IDEA 不认 mvnd原因Maven home path 指错层指到bin或mvn内部解决指到含bin\mvnd.cmd的顶层目录IDEA 低于 2021.1 则需升级坑 5IDEA 里 VM options 不生效原因用 mvnd 后IDEA 的 MavenVM optionsImporting/Runner会被忽略daemon 用mvnd.properties的mvnd.jvmArgs解决把-Xmx、代理等参数迁移到mvnd.properties坑 6Unsupported major version原因装了 mvnd 2.x要求 JDK 17当前 JDK 11解决换 mvnd 1.0.x10. 回退 / 卸载IDEA 回退Settings → Build Tools → Maven → Maven home path改回原 maven 目录无残留。彻底卸载 mvnd删除环境变量MVND_HOME及Path中的 mvnd 条目mvnd --stop停止 daemon删除安装目录D:\01soft\08mvnd\和C:\Users\19095\.m2\mvnd\daemon registrymvnd.properties可留可删不影响 mvn11. 本机最终配置速查项值mvnd 安装目录D:\01soft\08mvnd\maven-mvnd-1.0.6-windows-amd64JDKD:\01soft\00jdk\jdk1111本地仓库D:\01soft\08apache-maven-3.6.1\apache-maven-3.6.1\repositorysettings.xmlC:\Users\19095\.m2\settings.xml含阿里云镜像mvnd.propertiesC:\Users\19095\.m2\mvnd.propertiesdaemon 日志C:\Users\19095\.m2\mvnd\registry\1.0.6\daemon-*.log
返回列表