部署 Java 项目

Zeabur 支持部署使用 Maven 或 Gradle 构建系统,原生或 Spring Boot 框架的 Java 项目。

JAR 文件查找

默认情况下,Zeabur 会自动在标准构建输出目录中查找你的 JAR(或 WAR)文件:

  • Maventarget/*.jar(或 target/*.war
  • Gradlebuild/libs/*.jar(或 build/libs/*.war

对于标准的单模块项目,无需额外配置即可正常工作。

JAR 文件在子目录中

如果你的 JAR 文件不在默认位置——例如在多模块项目中,可运行的 JAR 文件构建在某个子模块下——你需要在 zbpack.json 中通过 javaArgs 明确指定路径:

{
  "javaArgs": "-jar my-server/target/server.jar"
}

对于 Spring Boot 项目,记得加上端口绑定,以便 Zeabur 能正确路由流量到你的服务:

{
  "javaArgs": "-Dserver.port=$PORT -jar my-server/target/server.jar"
}
💡

设置 javaArgs 后,它会完全替换默认的启动命令。你必须自行包含 -jar path/to/your.jar

项目在子目录中

如果你的整个 Java 项目(包括 pom.xmlbuild.gradle)位于 Git 仓库的子目录中,请改用根目录设置。这样 Zeabur 会将该子目录视为项目根目录,默认的 JAR 查找机制就能正常工作。

环境配置

可以使用的 JDK 版本有:

  • 19
  • 17(默认)
  • 11
  • 8
  • 7

指定 JDK 版本

你可以在 pom.xmlbuild.gradle 中指定 JDK 版本。

例如,如果你使用 Maven,请在 pom.xml 加入以下设置:

<properties>
    <java.version>11</java.version>
</properties>

如果你使用 Gradle,请在 build.gradle 加入以下设置:

sourceCompatibility = 11

指定 JVM 启动参数

你可以在 zbpack.json 内利用 javaArgs 字段覆盖 Zeabur 默认判断的 JVM 启动参数。 使用 javaArgs 时,你必须包含完整的命令参数,包括 -jar 和 JAR 文件的路径。

{
  "javaArgs": "-Xms128m -Xmx512m -jar target/your-app.jar"
}