在 Debian 上遇到 Java 编译报错,常见原因和解决办法如下,你可以一步步排查:
java -version
javac -version
如果提示:
command not found
说明 JDK 没装(只有 JRE 或没装)。
sudo apt update
sudo apt install default-jdk
或指定版本(如 Java 11):
sudo apt install openjdk-11-jdk
报错类似:
javac: command not found
说明 只装了 JRE,没装 JDK
解决:
sudo apt install openjdk-17-jdk
安装后确认:
javac -version
查看已安装版本:
update-alternatives --list java
update-alternatives --list javac
切换默认版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
编辑:
nano ~/.bashrc
添加(示例 Java 17):
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
error: unmappable character
解决:
javac -encoding UTF-8 Hello.java
package xxx does not exist
-cp示例:
javac -cp lib/*.jar Main.java
public class Hello {}
必须保存为:
Hello.java
sudo apt update
sudo apt install openjdk-17-jdk
nano Hello.java
public class Hello {
public static void main(String[] args) {
System.out.println("Hello Debian");
}
}
javac Hello.java
java Hello
你可以把 具体的报错信息 贴出来(复制终端内容),我可以 精准告诉你哪一行、什么问题、怎么改。