← Назад к вопросам

Как запустить проект String Boot

2.3 Middle🔥 141 комментариев
#Основы Java

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Ответ

Как запустить Spring Boot проект

Spring Boot значительно упрощает создание и запуск Java приложений благодаря встроенному серверу (Tomcat, Jetty, Undertow) и автоконфигурации. Рассмотрю все основные способы запуска.

1. Запуск через IDE (IntelliJ IDEA, Eclipse)

Самый простой способ для разработки:

// Главный класс приложения
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

Шаги в IDE:

  1. Открыть проект
  2. IDE автоматически определит main класс с аннотацией @SpringBootApplication
  3. Right-click на класс → Run
  4. Или использовать шорткат (Ctrl+Shift+F10 в IntelliJ)

Приложение запустится на http://localhost:8080

2. Команда Maven

# Запуск Spring Boot приложения
mvn spring-boot:run

# С указанием профиля
mvn spring-boot:run -Dspring-boot.run.arguments="--spring.profiles.active=dev"

# С переменными окружения
mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Xmx1024m"

pom.xml конфигурация:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>3.0.0</version>
</plugin>

3. Команда Gradle

# Запуск через Gradle
./gradlew bootRun

# На Windows
gradlew.bat bootRun

# С аргументами
./gradlew bootRun --args=--spring.profiles.active=prod

build.gradle конфигурация:

plugins {
    id "org.springframework.boot" version "3.0.0"
}

bootRun {
    systemProperties = System.properties
}

4. Запуск JAR файла (Production)

После сборки проекта:

# Сборка JAR
mvn clean package

# Запуск готового JAR
java -jar target/myapp-1.0.0.jar

# С дополнительными JVM параметрами
java -Xmx1024m -Xms512m -jar target/myapp-1.0.0.jar

# Передача аргументов Spring Boot
java -jar target/myapp-1.0.0.jar --spring.profiles.active=prod --server.port=9000

5. Запуск в Docker контейнере

# Dockerfile
FROM openjdk:17-jdk-slim
COPY target/myapp-1.0.0.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
EXPOSE 8080

Запуск:

# Сборка Docker образа
docker build -t myapp:1.0.0 .

# Запуск контейнера
docker run -p 8080:8080 myapp:1.0.0

# С переменными окружения
docker run -p 8080:8080 -e SPRING_PROFILES_ACTIVE=prod myapp:1.0.0

6. Использование application.properties / application.yml

# application.properties
spring.application.name=MyApp
server.port=8080
spring.profiles.active=dev

# Подключение БД
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password

Или на YAML:

# application.yml
spring:
  application:
    name: MyApp
  profiles:
    active: dev
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: password
server:
  port: 8080

7. Запуск с профилями (dev/prod/test)

# Использование dev конфигурации
java -jar app.jar --spring.profiles.active=dev

# Несколько профилей
java -jar app.jar --spring.profiles.active=prod,mysql

Разные файлы конфигурации:

src/main/resources/
├── application.yml (общие настройки)
├── application-dev.yml (для разработки)
├── application-prod.yml (для production)
└── application-test.yml (для тестов)

8. Отладка при запуске

# Запуск с debug портом
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar

# Потом подключиться из IDE через Remote Debug

Проверка, что приложение запустилось

# Проверить доступность
curl http://localhost:8080/actuator/health

# Вывод:
# {"status":"UP"}

# Просмотр логов (если запущено в фоне)
tail -f app.log

Useful Spring Boot Starters

<!-- Web приложение -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- База данных -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!-- Безопасность -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Типичные ошибки и решения

ОшибкаРешение
Port 8080 already in useИзмени порт: --server.port=9000 или убей процесс
Database connection errorПроверь БД доступна, параметры подключения
ClassNotFoundExceptionJAR построен неправильно, переcобери mvn clean package
Out of MemoryУвеличь heap: java -Xmx2048m -jar app.jar

Выбор способа зависит от контекста: для разработки — IDE или Maven/Gradle, для production — Docker или JAR с параметрами.