Приложение конфигурации облачного клиента не получает свойства из весенней загрузки Config Server

У меня есть веб-приложение, и я хочу использовать конфигурацию сервера из Spring Boot. Оба приложения расположены на локальной машине. Я сделал первые два приложения с нуля, и они работали вместе, но когда я использую клиент, в котором много зависимостей (не только облачная конфигурация и веб-зависимость), он больше не работает. Откуда я знаю? У меня есть переменная в файле свойств на сервере, и я пытаюсь использовать ее в своем клиенте с @Value("${атена}"). и появляется ошибка java.lang.IllegalArgumentException: не удалось разрешить заполнитель "atena" в значении "${atena}".

Следующее изображение — мое приложение для настройки сервера. Приложение конфигурации облачного клиента не получает свойства из весенней загрузки Config Server

Основной класс с сервера имеет следующую аннотацию @EnableConfigServer

В atena-config.yml у меня есть только имя переменной:

 atena: 'Hellllloooooo'

содержимое bootstrap.yml

server:
  port: 9000
spring:
  profiles:
    active: native

и зависимости build.gradle:

dependencies {

    implementation 'org.springframework.cloud:spring-cloud-config-server'
    runtimeOnly 'org.springframework.boot:spring-boot-devtools'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Я уверен, что сервер исправен, что-то не так с моим клиентом.

--------------------> Клиентская сторона

У меня есть restcontroller:

@RestController
@RequestMapping("/songs")
    public class SongController {

    @Value("${atena}")
    String variable;

    @GetMapping(value = "/check-from")
    public String viewVariable(){
        return variable;
    }
}

в котором я пытаюсь получить переменную из конфигурации сервера.

bootstrap.yml от клиента

spring:
  application:
     name: atena-config
   cloud:
     config:
       uri: http://localhost:9000

И, наконец, build.gradle от клиента:

    plugins {
    id 'org.springframework.boot' version '2.1.3.RELEASE'
    id 'java'
 }

apply plugin: 'io.spring.dependency-management'

group = 'com'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {

    compile 'com.google.apis:google-api-services-youtube:v3-rev206-1.25.0'


    implementation 'org.springframework.boot:spring-boot-starter'
    implementation('org.apache.tomcat:tomcat-jdbc:9.0.10')

    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation('org.mybatis:mybatis:3.4.6')
    implementation('org.mybatis:mybatis-spring:1.3.2')

    implementation('org.springframework.boot:spring-boot-starter-jdbc')

    implementation('org.springframework.cloud:spring-cloud-starter-config')
    compile group: 'org.postgresql', name: 'postgresql', version: '42.2.5'
    runtimeOnly 'org.springframework.boot:spring-boot-devtools'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

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

0
0
428
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Не бери в голову. Я исправил это. Действительно, проблема была из-за моих зависимостей, мой gradle.build был с проблемой. Я создал новый проект с инициализатором Spring, имеющим все зависимости, и скопировал оттуда новый gradle.build, и теперь он работает.

Это новый build.gradle от клиента

plugins {
    id 'org.springframework.boot' version '2.1.3.RELEASE'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'com'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
    maven { url 'https://repo.spring.io/milestone' }
}
ext {
    set('springCloudVersion', 'Greenwich.RELEASE')
}

dependencies {

    compile 'com.google.apis:google-api-services-youtube:v3-rev206-1.25.0'

    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.0.0'
    implementation 'org.springframework.cloud:spring-cloud-starter-config'
    runtimeOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'org.postgresql:postgresql'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

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