在 CentOS 上编译 Java(javac / Maven / Gradle)报错 时,排查思路可以按下面顺序来,基本能定位 90% 的问题。
java -version
javac -version
✅ 正常示例:
java version "1.8.0_382"
javac 1.8.0_382
❌ 常见问题:
java,没有 javac → 只装了 JRE,没装 JDKcommand not found → Java 没装或没配置环境变量# 查看已安装
rpm -qa | grep java
# JDK 8
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
⚠️ 一定要装 devel,否则没有 javac
echo $JAVA_HOME
✅ 建议设置:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
写入:
vi ~/.bashrc
source ~/.bashrc
mvn -version
常见错误:
JAVA_HOME is not setUnsupported major.minor version✅ 解决:
mvn clean compile -e -X
重点看:
Caused byjava.langUnsupportedClassVersionErrorUnsupported major.minor version 52.0
含义对照表:
| 版本号 | Java |
|---|---|
| 52 | Java 8 |
| 53 | Java 9 |
| 55 | Java 11 |
| 61 | Java 17 |
✅ 解决:
ls -ld 项目目录
✅ 解决:
chmod -R 755 项目目录
Could not transfer artifact
✅ 解决:
rm -rf ~/.m2/repository
mvn clean package
或者换国内镜像:
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
echo $http_proxy
ldd --version
CentOS 6 已停止支持,建议:
java -version
javac -version
echo $JAVA_HOME
mvn -version
mvn clean compile -e -X
你可以直接贴出:
javac、mvn 还是 gradle 报错我可以一步一步帮你定位 ✅