本文介紹了自動(dòng)連接BuildProperties Spring Boot 2.1.5失敗&//eclipse的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我正在使用幾個(gè)REST API創(chuàng)建一個(gè)非常簡(jiǎn)單的應(yīng)用程序,它目前工作正常,直到我嘗試在我的健康檢查API上使用BuildProperties。啟動(dòng)我的應(yīng)用程序時(shí),我收到以下錯(cuò)誤:
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.
我轉(zhuǎn)到構(gòu)建文件,還查看了構(gòu)建創(chuàng)建的JAR文件,我看到Build-info.properties實(shí)際上就在那里。在JAR文件中,文件的路徑是”BOOT-INFClassesMETA-INF”。我還有其他沒(méi)有問(wèn)題的”自動(dòng)連接”元素。
我的代碼失敗的地方:
@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;
}
我的Gradle構(gòu)建文件:
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()
}
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
推薦答案
正如@Borislav Markov建議我嘗試通過(guò)命令行運(yùn)行它一樣,無(wú)論我使用的是JDK 12還是JDK 8,它似乎都能完美地工作。我認(rèn)為這個(gè)問(wèn)題與我正在使用的通過(guò)集成開(kāi)發(fā)環(huán)境運(yùn)行應(yīng)用程序的eclipse插件有關(guān)。
這篇關(guān)于自動(dòng)連接BuildProperties Spring Boot 2.1.5失敗&//eclipse的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,