Java.lang.IllegalArgumentException: не удалось разрешить заполнитель в контейнере Docker.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java.lang.IllegalArgumentException: не удалось разрешить заполнитель в контейнере Docker.

Сообщение Anonymous »

У меня есть бэкэнд Spring Boot, который хорошо работает на моем локальном компьютере с IntelliJ.
Но когда я пытаюсь запустить его в Docker-контейнере, я получаю эту ошибку

Код: Выделить всё

 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'emailSenderService' defined in URL [jar:file:/app/Backend-0.0.1-SNAPSHOT.jar!/com/hdmstuttgart/mi/backend/service/EmailSenderService.class]: Unexpected exception during bean creation; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'mjmlSecrets.appId' in value "${mjmlSecrets.appId}"
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:555)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
openbarber-backend-1   |        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
openbarber-backend-1   |        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
openbarber-backend-1   |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
openbarber-backend-1   |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
openbarber-backend-1   |        at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
openbarber-backend-1   |        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
openbarber-backend-1   |        ... 32 common frames omitted
openbarber-backend-1   | Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'mjmlSecrets.appId' in value "${mjmlSecrets.appId}"
openbarber-backend-1   |        at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180)
openbarber-backend-1   |        at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126)
openbarber-backend-1   |        at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239)
openbarber-backend-1   |        at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210)
openbarber-backend-1   |        at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:191)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936)
openbarber-backend-1   |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1332)
openbarber-backend-1   |        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
openbarber-backend-1   |        at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
openbarber-backend-1   |        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
openbarber-backend-1   |        at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
openbarber-backend-1   |        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
openbarber-backend-1   |        ...  41 common frames omitted
openbarber-backend-1 exited with code 1
Похоже, что в этом случае он не может разрешить заполнитель некоторых учетных данных.
В application.yml учетные данные настраиваются следующим образом: это

Код: Выделить всё

mailCredentials:
username: ${MAIL_USERNAME}
password: ${MAIL_PASSWORD}

mjmlSecrets:
appId: ${MJML_APP_ID}
appKey: ${MJML_APP_KEY}
учетные данные находятся в файле .env

Код: Выделить всё

MAIL_USERNAME=yourMailUsername
MAIL_PASSWORD=yourMailPassword
MJML_APP_ID=yourMjmlAppId
MJML_APP_KEY=yourMjmlAppKey
И в файле docker-compose я также установил такие переменные среды

Код: Выделить всё

version: '3.8'

services:
frontend:
hostname: localhost
build: ./Frontend
ports:
- "80:80"
backend:
build: ./Backend
ports:
- "8080:8080"
depends_on:
- db
links:
- db
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/openbarber
- SPRING_DATASOURCE_USERNAME=postgres
- SPRING_DATASOURCE_PASSWORD=admin
- MJML_APP_ID=...
- MJML_APP_KEY=...
- MAIL_USERNAME=...
- MAIL_PASSWORD=...
env_file:
- ./Backend/src/main/resources/.env

Правильна ли конфигурация?
Я также попробовал чистую установку mvn

Подробнее здесь: https://stackoverflow.com/questions/776 ... ocker-cont
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»