1. 确认JDK正确安装
在CentOS上编译Java程序前,需确保已安装JDK(而非仅JRE)。通过java -version和javac -version命令检查版本:若未安装,使用sudo yum install java-1.8.0-openjdk-devel(或对应版本,如11、17)安装OpenJDK;安装后再次验证命令输出,确认javac(编译器)存在。
2. 正确设置JAVA_HOME环境变量
JAVA_HOME需指向JDK安装路径(如/usr/lib/jvm/java-11-openjdk),而非JRE。设置方法:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk;~/.bashrc或/etc/profile.d/java.sh(系统级),然后运行source ~/.bashrc使更改生效。echo $JAVA_HOME验证路径是否正确。3. 使用-cp/-classpath选项指定类路径
编译时通过-cp(或-classpath)选项明确指定依赖路径,优先级高于环境变量。格式如下:
.)和单个JAR:javac -cp ".:/path/to/library.jar" YourJavaFile.java;:)分隔,如javac -cp ".:/path/to/lib1.jar:/path/to/lib2.jar" YourJavaFile.java。-cp选项后的路径需用引号包裹(避免空格或特殊字符导致解析错误)。4. 检查CLASSPATH环境变量(可选)
若使用CLASSPATH环境变量,需确保其包含所有必需的依赖路径(包括当前目录.)。设置方法:
export CLASSPATH=".:/path/to/library.jar";~/.bashrc并source。-cp选项会覆盖CLASSPATH环境变量,建议优先使用-cp避免冲突。5. 验证依赖库和源文件路径
package com.example;的类需位于com/example/目录下);-d ./out)存在且有写入权限,避免类文件生成失败。6. 使用构建工具管理复杂项目(推荐)
对于依赖较多或项目结构复杂的情况,建议使用Maven或Gradle:
pom.xml中配置<dependencies>,运行mvn compile自动下载依赖并编译;build.gradle中配置dependencies块,运行gradle build完成编译。