Приложение конфигурации клиента облака не получает свойства от загрузки Config Server Spring - PullRequest
0 голосов
/ 06 марта 2019

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

На следующем рисунке показано мое приложение для настройки сервера.enter image description here

Основной класс с сервера имеет следующую аннотацию @ 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'
}

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

1 Ответ

0 голосов
/ 06 марта 2019

Неважно.Я исправил это.На самом деле проблема была в моих зависимостях, мой gradle.build был в проблеме.Я создал новый проект с пружинным инициализатором, имеющим все зависимости, и скопировал оттуда новый 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}"
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...