在 Debian 容器 里编译 Java,通常有几种方式,取决于你用的是 OpenJDK 还是 Oracle JDK,以及是否用 构建工具(javac / Maven / Gradle)。
下面按常见场景一步步说明。
javac 编译 Javadocker run -it debian bash
apt update
apt install -y default-jdk
default-jdk在 Debian 中通常是 OpenJDK
java -version
javac -version
mkdir /app && cd /app
cat > Hello.java <<'EOF'
public class Hello {
public static void main(String[] args) {
System.out.println("Hello Debian");
}
}
EOF
javac Hello.java
java Hello
Debian 支持多个 OpenJDK 版本:
apt install -y openjdk-11-jdk
# 或
apt install -y openjdk-17-jdk
查看已安装版本:
ls /usr/lib/jvm/
切换默认版本:
update-alternatives --config java
update-alternatives --config javac
apt install -y maven
mvn clean package
生成的可执行 jar 通常在:
target/xxx.jar
运行:
java -jar target/xxx.jar
apt install -y gradle
gradle build
如果你只是想编译/运行 Java,不建议从裸 Debian 开始:
docker run -it maven:3.9-openjdk-17 bash
或
docker run -it openjdk:17 bash
apt install -y tzdata
可以挂载代码:
docker run --rm -v $PWD:/src -w /src maven:3.9-openjdk-17 mvn package
用 openjdk:17-jdk-slim 或 eclipse-temurin
如果你愿意,可以告诉我:
我可以直接给你一份可用的 Dockerfile 示例。