Skip to content

Application 插件

application 插件用于构建可执行的 Java 应用程序,自动生成启动脚本和发行版包。

基本配置

kotlin
plugins {
    application
}

application {
    // 主类(必须配置)
    mainClass.set("com.example.Application")
    
    // 应用名称(用于生成启动脚本)
    applicationName = "my-app"
    
    // 默认 JVM 参数(写入启动脚本)
    applicationDefaultJvmArgs = listOf(
        "-Xmx512m",
        "-Dfile.encoding=UTF-8",
        "-Djava.awt.headless=true"
    )
}

插件提供的任务

bash
# 直接运行应用
./gradlew run

# 传入命令行参数
./gradlew run --args="--port 8080 --env prod"

# 生成发行版(zip + tar)
./gradlew distZip
./gradlew distTar

# 安装到 build/install/
./gradlew installDist

# 运行安装后的应用
./build/install/my-app/bin/my-app

发行版结构

build/distributions/my-app-1.0.zip
└── my-app-1.0/
    ├── bin/
    │   ├── my-app      ← Unix 启动脚本
    │   └── my-app.bat  ← Windows 启动脚本
    └── lib/
        ├── my-app-1.0.jar
        ├── guava-32.0.1.jar
        └── ...

自定义发行版内容

kotlin
distributions {
    main {
        distributionBaseName.set("my-app")
        
        contents {
            // 添加配置文件
            from("src/main/resources") {
                into("config")
            }
            // 添加文档
            from("docs") {
                into("docs")
            }
        }
    }
}

下一步