温馨提示×

debian容器里如何编译java

小樊
41
2026-09-17 07:37:41
栏目: 编程语言

Debian 容器 里编译 Java,通常有几种方式,取决于你用的是 OpenJDK 还是 Oracle JDK,以及是否用 构建工具(javac / Maven / Gradle)

下面按常见场景一步步说明。


一、最基础:用 javac 编译 Java

1. 启动 Debian 容器

docker run -it debian bash

2. 更新并安装 JDK

apt update
apt install -y default-jdk

default-jdk 在 Debian 中通常是 OpenJDK

3. 验证 Java

java -version
javac -version

4. 写一个简单的 Java 程序

mkdir /app && cd /app
cat > Hello.java <<'EOF'
public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello Debian");
    }
}
EOF

5. 编译并运行

javac Hello.java
java Hello

二、指定 Java 版本(推荐)

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

三、使用 Maven 编译 Java 项目

安装 Maven

apt install -y maven

编译项目

mvn clean package

生成的可执行 jar 通常在:

target/xxx.jar

运行:

java -jar target/xxx.jar

四、使用 Gradle 编译

安装 Gradle

apt install -y gradle

构建

gradle build

五、推荐:使用官方 Java 镜像(更简单)

如果你只是想编译/运行 Java,不建议从裸 Debian 开始:

docker run -it maven:3.9-openjdk-17 bash

docker run -it openjdk:17 bash

六、常见注意事项

1. 容器里时间问题

apt install -y tzdata

2. 编译但不在容器运行

可以挂载代码:

docker run --rm -v $PWD:/src -w /src maven:3.9-openjdk-17 mvn package

3. 精简镜像(生产)

openjdk:17-jdk-slimeclipse-temurin


如果你愿意,可以告诉我:

  • 用的是 Dockerfile 还是 docker run
  • Java 版本(8 / 11 / 17 / 21)
  • 是否用 Maven / Gradle

我可以直接给你一份可用的 Dockerfile 示例

0