Spring Boot, чтобы исключить подключение к базе данных во время сборки maven

У меня есть сценарий, в котором я хочу развернуть приложение весенней загрузки в AWS, но я просто хочу игнорировать подключения к базе данных, происходящие внутри во время локальной сборки, поскольку у меня нет тестовых классов, и я не хочу включать базу данных H2. Можно ли создать файл jar для развертывания в AWS без подключения к базе данных AWS?

Application.properties

# ===============================
# = DATA SOURCE
# ===============================

# Set here configurations for the database connection

# Connection url for the database "netgloo_blog"

spring.datasource.url = jdbc:mysql://localhost:3306/auto_journey

# Username and password
spring.datasource.username = root
spring.datasource.password =auto123

# Keep the connection alive if idle for a long time (needed in production)
#spring.datasource.testWhileIdle = true
#spring.datasource.validationQuery = SELECT 1

# ===============================
# = JPA / HIBERNATE
# ===============================

# Use spring.jpa.properties.* for Hibernate native properties (the prefix is
# stripped before adding them to the entity manager).

# Show or not log for each sql query
spring.jpa.show-sql = true

# Hibernate ddl auto (create, create-drop, update): with "update" the database
# schema will be automatically updated accordingly to java entities found in
# the project
spring.jpa.hibernate.ddl-auto = update

# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy

# Allows Hibernate to generate SQL optimized for a particular DBMS
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

server.servlet.context-path=/autofinance


server.port=9090


spring.mvc.static-path-pattern=/resources/**
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
8
0
5 503
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Включите это в pom.xml, чтобы решить проблему.

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
    </plugin>

Пропустит ли это все тесты?

Ganesh Satpute 10.06.2020 19:04

mvn clean install -DskipTests будет работать я думаю

У меня тоже есть подобное требование. Если вы решили эту проблему, не стесняйтесь размещать ответ здесь.

Если вы использовали Spring Initializr для создания проекта Spring Boot, тестовый класс приложения YourApplicationTest был автоматически сгенерирован внутри тестового пакета. Именно этот класс побудил Maven SureFire попытаться запустить ваше приложение, которое попытается подключиться к базе данных. Просто удалите этот файл, чтобы остановить этот тест. Нет необходимости полностью отключать модульные тесты.

У вас есть аналогичная проблема, нет необходимости отключать все тесты с этим плагином.

Чуть выше основного тестового класса закомментируйте или удалите аннотация:

//@SpringBootTest

Затем, когда приложение сборки Maven, оно все равно будет запускать тесты внутри этого класса, но будет не запускать приложение SpringBoot, поэтому не будет проверять соединение с БД, и сборка будет успешной.

Я использую Intellij IDEA для своего проекта Spring Boot и для сборки Maven.

Чтобы создать пакет jar без подключения к базе данных (в моей ситуации сервер базы данных недоступен с моего компьютера), я добавляю -DskipTests в конфигурацию запуска maven.

Другие вопросы по теме