1. Java环境未正确安装或配置
问题表现:终端执行java -version或javac -version时提示“command not found”,或编译时提示“找不到Java编译器”。
解决方法:
sudo apt update && sudo apt install openjdk-17-jdk(可根据需求替换为11、21等版本);java -version和javac -version,确认显示版本信息;~/.bashrc(或/etc/profile),添加export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64(路径需与实际安装路径一致)、export PATH=$JAVA_HOME/bin:$PATH,然后运行source ~/.bashrc使配置生效。2. 文件路径或类名不匹配
问题表现:编译时提示“找不到符号”“类名与文件名不一致”或“无法找到源文件”。
解决方法:
HelloWorld.java中的公共类必须是public class HelloWorld;javac src/HelloWorld.java)时,需确认当前工作目录是否包含src文件夹。3. 依赖库缺失或类路径配置错误
问题表现:编译时提示“找不到符号”(如未导入的类)、“类路径中缺少库”或“无法加载主类”。
解决方法:
sudo apt install安装所需库(如sudo apt install libx11-dev用于GUI开发);-cp或-classpath选项包含依赖库路径,例如javac -cp ".:/path/to/library.jar" YourClass.java(.表示当前目录),运行时也需添加相同类路径(java -cp ".:/path/to/library.jar" YourClass)。4. 编码格式不兼容
问题表现:编译时提示“编码GBK的不可映射字符”(常见于Windows环境下编写的代码在Ubuntu下编译)。
解决方法:
javac -encoding UTF-8 YourClass.java;5. 权限不足
问题表现:编译或运行时提示“权限被拒绝”(如无法读取源文件、无法写入.class文件)。
解决方法:
chmod命令添加读写权限,例如chmod 755 /path/to/your/file(允许所有者读写执行,其他用户读执行);/usr/local),可使用sudo提升权限(如sudo javac YourClass.java),但建议将项目放在用户目录(如~/projects)以避免权限问题。6. Java版本不兼容
问题表现:编译时提示“无效的目标发行版”(如源代码使用Java 17特性,但编译器版本为Java 8)。
解决方法:
javac -source 17表示使用Java 17语法);sudo apt install openjdk-17-jdk(替换为所需版本);javac -source 17 -target 17 YourClass.java(确保源版本与目标版本一致)。7. 内存不足
问题表现:编译大型项目时提示“OutOfMemoryError”(如“Java heap space”)。
解决方法:
-J-Xmx选项设置最大堆内存,例如javac -J-Xmx1024m YourClass.java(分配1GB内存);MAVEN_OPTS环境变量:export MAVEN_OPTS="-Xms512m -Xmx2048m"(设置初始堆内存512MB,最大2GB),然后重新运行mvn compile。8. 语法错误
问题表现:编译时提示“找不到符号”“语句未结束”“方法签名错误”等具体语法问题。
解决方法:
public static void main(String[] args)不能遗漏static关键字)。