Создание и проверка проекта Gradle через Spring Initializr
На этой странице
Создав проект через Spring Initializr, проверьте его сгенерированным Gradle Wrapper, прежде чем полагаться на IDE. Разделяйте генерацию, разрешение зависимостей, совместимость JDK и запуск приложения, чтобы проще находить причины ошибок.
Пример использует проект Boot 4.1.2, Java 17, Gradle Groovy, действительно сгенерированный start.spring.io 27 октября 2026 года. Его Wrapper выбрал Gradle 9.8.2. Настройки сервиса по умолчанию и доступные версии меняются; не считайте, что эта комбинация будет доступна всегда.
Порядок обработки
Сгенерируйте полный архив до запуска Wrapper. Контекстный тест и отдельно запущенное HTTP-приложение подтверждают разные вещи.
Выберите параметры проекта
| Параметр | Пример | Значение |
|---|---|---|
| Project / Language | Gradle - Groovy / Java | Инструмент сборки и язык исходного кода |
| Spring Boot | 4.1.2 | Финальный выпуск, доступный при создании примера |
| Java / Packaging | 17 / Jar | Инструментарий исходного кода и упаковка |
| Group / Artifact | example / demo | Идентификаторы проекта |
| Package name | example.demo | Пакет приложения |
| Dependencies | Spring Web | Зависимости HTTP-эндпоинта |
Нажмите Generate в интерфейсе или скачайте архив по этому URL. Убедитесь в успехе каждой команды до запуска следующей. Используйте пустой рабочий каталог, чтобы не перезаписать существующий проект.
curl --fail --show-error --location 'https://start.spring.io/starter.zip?type=gradle-project&language=java&bootVersion=4.1.2&baseDir=demo&groupId=example&artifactId=demo&name=Demo&packageName=example.demo&packaging=jar&javaVersion=17&dependencies=web' --output demo.zip
unzip demo.zip
cd demo
./gradlew --version
./gradlew test
API генерации может отклонить версию, когда сервис перестанет её предлагать. Проверьте актуальные метаданные сервиса и справочник Initializr, затем вместе выберите совместимые Boot, JDK и Gradle. Незаметная подмена примера последними настройками по умолчанию меняет условия воспроизведения.
Проверьте четыре основных сгенерированных файла
Это четыре основных файла с упрощённым форматированием. Полный архив также содержит скрипты Wrapper, JAR и настройки Wrapper и файлы ресурсов. Копирование только этих четырёх файлов в пустой каталог не создаёт ./gradlew.
settings.gradle
rootProject.name = 'demo'
build.gradle
plugins {
id 'java'
id 'org.springframework.boot' version '4.1.2'
id 'io.spring.dependency-management' version '1.1.7'
}
group = 'example'
version = '0.0.1-SNAPSHOT'
java {
toolchain { languageVersion = JavaLanguageVersion.of(17) }
}
repositories { mavenCentral() }
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-webmvc'
testImplementation 'org.springframework.boot:spring-boot-starter-webmvc-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') { useJUnitPlatform() }
src/main/java/example/demo/DemoApplication.java
package example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
src/test/java/example/demo/DemoApplicationTests.java
package example.demo;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoApplicationTests {
@Test
void contextLoads() {}
}
Сгенерированный проект Boot 4.1.2 использует spring-boot-starter-webmvc и spring-boot-starter-webmvc-test. Начинайте с конфигурации, созданной для выбранного выпуска, а не смешивайте фрагменты разных поколений Boot. Требования Boot 4.1.2 указывают Java 17 или новее и Gradle 8.x начиная с 8.14 либо 9.x.
Отличайте тесты от запуска приложения
Успешный contextLoads() означает, что тестовый контекст запускается. Пока контроллера нет, ответ 404 от / не свидетельствует об ошибке запуска. Запустите приложение отдельно и остановите его через Ctrl+C в том терминале.
./gradlew bootRun
Сохраните сгенерированный build.gradle и файлы Gradle Wrapper в одном коммите. Версия Gradle не совпадает по смыслу с версией Java в java.toolchain. Командой ./gradlew --version проверьте JVM, выполняющую Gradle, и отличайте её от JDK компиляции и запуска приложения.
Продолжите открытием проекта в IntelliJ и обслуживанием HTTP. О причинах разных номеров версий Boot и Framework см. историю выпусков Spring Boot и связи версий.
Обсуждение