在 CentOS 上编译 Java(或 Java 项目)失败 的原因很多,常见原因可以按 系统环境、JDK、构建工具、代码/依赖、权限 几个方面来排查。下面给你一个常见原因速查清单。
现象
javac: command not found
解决
java -version
javac -version
如果 javac 不存在,说明没装 JDK:
yum install -y java-1.8.0-openjdk-devel
# 或
yum install -y java-11-openjdk-devel
✅ 一定要安装 -devel 版本
现象
unsupported class file major version
incompatible types
原因
解决
java -version
javac -version
确认一致,必要时切换:
alternatives --config java
现象
JAVA_HOME is not set
解决
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH
永久生效:
vi ~/.bashrc
package does not exist
cannot find symbol
常见原因
解决
mvn clean install -U
或删除本地仓库重来:
rm -rf ~/.m2/repository
现象
Java heap space
GC overhead limit exceeded
解决
export MAVEN_OPTS="-Xmx1024m"
或:
java -Xmx2g ...
现象
version `GLIBC_2.28' not found
原因
解决
现象
Permission denied
解决
chmod -R 755 项目目录
或不要用 root 乱编译。
错误示例
java Test.java # ❌
正确
javac Test.java
java Test
mvn clean install 2>&1 | tee build.log
java -version
javac -version
mvn -version
javac HelloWorld.java
你可以直接贴出:
cat /etc/centos-release
我可以一步一步帮你定位到具体原因 ✅