Debian 本身是可以编译 Java 代码的,所谓“无法编译 Java 代码”通常不是系统问题,而是环境或命令使用问题。下面按常见原因逐一说明,并给出解决办法。
javac Hello.java
bash: javac: command not found
JRE(Java Runtime Environment)只能运行 Javasudo apt update
sudo apt install default-jdk
安装后验证:
javac -version
java -version
javac 不在 PATH 中which javac
如果没有输出:
ls /usr/lib/jvm/
export PATH=$PATH:/usr/lib/jvm/java-17-openjdk-amd64/bin
或修改 ~/.bashrc 永久生效。
Debian 官方仓库只有 OpenJDK,没有 Oracle JDK。
sudo apt install openjdk-17-jdk
不要从非官方源装 Oracle JDK,容易出依赖问题。
Hello.java:1: error: class Hello is public, should be declared in a file named Hello.java
public class 名 必须等于文件名javac Hello.java
Permission denied
cd ~
mkdir javatest
cd javatest
不要在 /usr、/etc 下编译。
老版本 Debian(如 8/9):
Docker 或最小化 Debian:
apt install build-essential # 没用
Java 不在其中。
必须显式安装:
apt install default-jdk
default-jdkjavac -version 是否有输出如果你愿意,可以把具体报错信息贴出来,我可以精准帮你定位是哪一种问题。