Неудача Autowailired of BuildProperties Spring Boot 2.1.5 & EclipseJAVA

Программисты JAVA общаются здесь
Anonymous
Неудача Autowailired of BuildProperties Spring Boot 2.1.5 & Eclipse

Сообщение Anonymous »

Я создаю очень простое приложение с несколькими API REST, и в настоящее время он работает правильно, пока не попытаюсь использовать BuildProperties на моем API проверки здоровья. При запуске моего приложения я получаю следующую ошибку: < /p>

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-06-17 09:54:29.210 ERROR 10796 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :

***************************
APPLICATION FAILED TO START
***************************

Description:

Field buildProperties in com.controller.HealthCheck required a bean of type 'org.springframework.boot.info.BuildProperties' that could not be found.

The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

The following candidates were found but could not be injected:
- Bean method 'buildProperties' in 'ProjectInfoAutoConfiguration' not loaded because @ConditionalOnResource did not find resource '${spring.info.build.location:classpath:META-INF/build-info.properties}'

Action:

Consider revisiting the entries above or defining a bean of type 'org.springframework.boot.info.BuildProperties' in your configuration.
< /code>

Я пошел в файл сборки, и я также посмотрел в файле JAR, созданном сборкой, и я вижу, что на самом деле существует Build-Info.properties. В файле JAR путь к файлу: «Boot-Inf \ Classes \ Meta-Inf \». У меня также есть другие «автоматические» элементы, у которых нет проблем.@RestController
public class HealthCheck {

@Autowired
Environment environment;

@Autowired
BuildProperties buildProperties;

@GetMapping("/health")
public HealthCheckResponse healthCheck() {
return getHealthCheckResponse();
}

private HealthCheckResponse getHealthCheckResponse(){
HealthCheckResponse healthResponse = new HealthCheckResponse();
String[] profiles = environment.getActiveProfiles();

healthResponse.setServerTime(new Date());
healthResponse.setVersion(buildProperties.getVersion());
healthResponse.setEnvironment(profiles[0]);

return healthResponse;
}
< /code>

my gradle build file: < /p>

plugins {
id 'org.asciidoctor.convert' version '1.5.3'
id 'org.springframework.boot' version '2.1.5.RELEASE'
id 'java'
}

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

group = 'com'
version = '0.0.1'
sourceCompatibility = '12'

repositories {
mavenCentral()
}

ext {
set('snippetsDir', file("build/generated-snippets"))
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-jersey'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:2.1.1'
runtimeOnly 'mysql:mysql-connector-java'
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.restdocs:spring-restdocs-webtestclient'
testImplementation 'org.springframework.security:spring-security-test'
}

test {
outputs.dir snippetsDir
}

asciidoctor {
inputs.dir snippetsDir
dependsOn test
}

springBoot {
buildInfo()
}
< /code>

build-info.properties:

#Properties
#Mon Jun 17 10:52:04 EDT 2019
build.version=0.0.1
build.group=com
build.name=app
build.artifact=app
build.time=2019-06-17T14\:52\:04.829909200Z


Подробнее здесь: https://stackoverflow.com/questions/566 ... -5-eclipse

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