Gradle 快速开始

创建一个生成器工程,准备本地模板,再使用交互或批量方式生成项目。

1. 创建生成器工程

准备单独的生成器目录,在其中创建 settings.gradle:

rootProject.name = 'lodsve-project-generator'

创建 build.gradle,从 Maven Central 加载已发布的 1.0.1-RELEASE:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.lodsve:lodsve-gradle-archetype-plugin:1.0.1-RELEASE'
    }
}

apply plugin: 'com.lodsve.archetype'

在此目录执行 gradle tasks --group Archetype,确认出现 generate 和 cleanArchetype。如果生成器已经维护 Gradle Wrapper,可将下方的 gradle 换为 ./gradlew。

2. 放入一个最小模板

插件默认读取 src/main/resources/templates。先通过三个小文件验证替换流程,再扩展为团队自己的 Boot 工程。

src/main/resources/templates/settings.gradle:

rootProject.name = '@artifactId@'

src/main/resources/templates/build.gradle:

plugins {
    id 'java'
}

group = '@groupId@'
version = '@version@'

src/main/resources/templates/src/main/java/__packagePath__/Application.java:

package @packageName@;

public class Application {
    public static void main(String[] args) {
        System.out.println("@artifactId@");
    }
}

这个示例生成普通 Java 工程,用于理解模板机制。要生成 Lodsve Boot 工程,请将所选版本的 Gradle 构建文件、应用启动类和配置放入模板,并参考 Boot 安装与依赖中的坐标与版本管理说明。

3. 执行生成

交互方式会询问缺失参数:

gradle generate --info

在脚本或 CI 中使用批量方式,显式提供所有会被询问的参数,包括有默认值的字段:

gradle generate --info \
  -Dgroup=com.example \
  -Dname=demo-app \
  -DpackageName=com.example.demo \
  -Dversion=1.0.0-SNAPSHOT \
  -Dauthor=developer \
  -Dport=8080 \
  -DcontextPath=/demo

当前实现缺少参数时仍会进入询问流程,所以不能仅凭“有默认值”省略 CI 中的参数。

4. 检查生成结果

输出目录固定为当前生成器下的 generated/。上述模板输出的文件包括:

generated/
├── settings.gradle
├── build.gradle
└── src/main/java/com/example/demo/Application.java

检查包名、坐标与文件内容,再将生成的工程移动到正式开发目录。之后用该应用需要的 Gradle / JDK 环境构建。

重新生成

已有同名文件时默认报错。确认 generated/ 中没有需要保留的修改后,可以删除旧结果再生成:

gradle cleanArchetype generate --info

cleanArchetype 会删除整个 generated/,不要把持续维护的业务工程留在这个临时输出目录。

版本说明

此处使用 Central 发布的插件实现依赖。若使用 plugins { id 'com.lodsve.archetype' version '...' } 方式,版本必须从 Plugin Portal选择;核对时该渠道展示 1.0.0-RELEASE,不同于 Central 的 1.0.1-RELEASE。

任务注册与实现 · Central 版本元数据