5.7 KiB
Инструкция по запуску приложения
Требования
- Java 21 (JDK 21)
- Gradle (обычно входит в проект через Gradle Wrapper)
Проверьте версию Java:
java -version
Должно быть что-то вроде:
openjdk version "21.x.x"
Способы запуска
1. Через Gradle Wrapper (рекомендуется)
Windows:
cd demo
.\gradlew.bat bootRun
Linux/Mac:
cd demo
./gradlew bootRun
2. Через IDE (IntelliJ IDEA / Eclipse)
- Откройте проект в IDE
- Найдите класс
DemoApplication.javaв пакетеcom.example.demo - Правой кнопкой мыши →
Run 'DemoApplication'
3. Сборка и запуск JAR файла
Сборка:
cd demo
.\gradlew.bat bootJar # Windows
# или
./gradlew bootJar # Linux/Mac
Запуск:
java -jar build/libs/demo-0.0.1-SNAPSHOT.jar
Что происходит при запуске
- Создается база данных H2 в файле
./data.mv.db(в папкеdemo) - Автоматически создаются таблицы (благодаря
ddl-auto=create):epochscountriesartists
- Автоматически создаются начальные данные (если база пустая):
- Страны: Россия, США, Великобритания, Германия, Франция, Япония
- Эпохи: 1970-е, 1980-е, 1990-е, 2000-е, 2010-е, 2020-е
- Приложение запускается на порту 8080
Примечание: Начальные данные создаются только если база данных пустая. При последующих запусках данные сохраняются (если не удалить файл
data.mv.db).
Проверка работы
1. Проверка через браузер
Откройте в браузере:
- Swagger UI: http://localhost:8080/swagger-ui.html
- API Docs: http://localhost:8080/api-docs
2. Проверка через H2 Console
- Откройте в браузере: http://localhost:8080/h2-console
- Настройки подключения:
- JDBC URL:
jdbc:h2:file:./data - User Name:
sa - Password:
sa
- JDBC URL:
- Нажмите "Connect"
- Выполните SQL запрос:
SELECT * FROM artists; SELECT * FROM epochs; SELECT * FROM countries;
3. Проверка через API
Используйте Swagger UI или любой HTTP клиент (Postman, curl):
Примеры запросов:
Создать эпоху:
curl -X POST http://localhost:8080/api/epochs \
-H "Content-Type: application/json" \
-d '{"name": "1980-е"}'
Создать страну:
curl -X POST http://localhost:8080/api/countries \
-H "Content-Type: application/json" \
-d '{"name": "Россия"}'
Получить всех артистов:
curl http://localhost:8080/api/artists
Запуск тестов
Через Gradle:
cd demo
.\gradlew.bat test # Windows
# или
./gradlew test # Linux/Mac
Через IDE:
Правой кнопкой на папке test → Run Tests
Структура базы данных
После первого запуска в папке demo появится файл:
data.mv.db- файл базы данных H2
Важно: При каждом запуске с ddl-auto=create таблицы пересоздаются заново, поэтому данные не сохраняются между перезапусками.
Если нужно сохранять данные между запусками, измените в application.properties:
spring.jpa.hibernate.ddl-auto=update
Возможные проблемы
1. Порт 8080 занят
Ошибка: Port 8080 is already in use
Решение:
- Измените порт в
application.properties:server.port=8081 - Или остановите процесс, использующий порт 8080
2. Java версия не подходит
Ошибка: Unsupported class file major version
Решение: Установите Java 21
3. База данных не создается
Решение:
- Убедитесь, что у приложения есть права на запись в папку
demo - Проверьте настройки в
application.properties
4. Ошибки компиляции
Решение:
cd demo
.\gradlew.bat clean build
Полезные команды
Очистка проекта:
.\gradlew.bat clean
Пересборка:
.\gradlew.bat clean build
Просмотр зависимостей:
.\gradlew.bat dependencies
Запуск с отладкой:
Добавьте в application.properties:
logging.level.com.example.demo=DEBUG
Остановка приложения
- В терминале:
Ctrl + C - В IDE: нажмите кнопку "Stop" в панели запуска
Следующие шаги
- Откройте Swagger UI: http://localhost:8080/swagger-ui.html
- Протестируйте API через Swagger
- Проверьте данные в H2 Console
- Запустите тесты для проверки функциональности