部署 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"
}