Ситуация была в следующем.
Плагин jOOQ срабатывает на этапе `mvn clean package`. Так как на данном этапе в docker compose образы хоть и собраны, но контейнер БД не стартовал, то этап сборки приложения не сработает (connection refused to db).
Почему healthcheck & depends_on не подошли в данном случае:
Так как они сработают в случае, если контейнеры стартовали. К тому же, depends_on не гарантирует то, что стартанет сервис. Он гарантирует, что стартанер контейнер.
Решил проблему следующим образом. В docker compose первоначально выборочно собираю нужные образы и стартую нужные сервисы (БД в том числе). Затем уже собираю образ приложения и стартую приложение.
Т.е. примерно так:
Этап 1
`docker compose up postgres rabbit redis -d`
Этап 2
`docker compose up app -d`
Есть альтернативное решение, тоже хорошее.
Генерация сущности после того, как приложение стартовало при помощи AfterStartupApplicationListener
Подробности тут -
https://habr.com/ru/articles/488522/