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

Maven enforcer检测不到AdoptOpenJDK-11导致JHipster项目构建失败

问题根因

你遇到的版本不兼容问题核心是sudo运行命令时的环境变量和当前登录用户的环境变量不一致导致的:

  • 你直接执行java --version、mvn enforcer:display-info用的是当前用户配置的环境变量,读取的是你设置的AdoptOpenJDK 11.0.11,符合版本要求
  • 执行sudo mvn时,sudo默认会重置PATH、JAVA_HOME等环境变量,调用的是系统全局默认的Java版本,多数Linux发行版默认自带的系统Java版本为JDK 17及以上,超出了JHipster支持的最高JDK 14的要求,所以触发了maven-enforcer-plugin的校验报错

查看sudo环境下Maven实际识别的Java版本

执行以下命令即可直接得到Maven在sudo权限下实际调用的JDK版本:

sudo mvn enforcer:display-info

也可以直接查看sudo下的全局Java版本验证:

sudo java --version

解决方案

两种可行方案按需选择即可:

方案1:保留sudo执行,同步当前用户的环境变量

在sudo命令后加-E参数,保留当前用户的环境变量配置,即可使用你本地配置的JDK 11执行构建:

sudo -E mvn clean install -U

方案2:修复目录权限,彻底避免使用sudo执行构建

之前不加sudo报错是因为项目目录下存在归属root用户的文件,将项目目录所有权改回你的当前用户即可:

# 替换your-user为你的实际用户名,替换路径为你的项目实际路径
sudo chown -R your-user:your-user /path/to/your/jhipster/project

权限修复完成后就可以直接用当前用户执行构建,不需要再加sudo:

mvn clean install -U

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:48:04