Etc/에러 개선

[Spring boot] Linux 배포 시 CloudFoundryVcapEnvironmentPostProcessor 에러

soyoung Park 2022. 10. 6. 20:28

Spring boot web project 배포 시 다음과 같은 에러가 떨어졌다.

 

Exception in thread "main" java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationListener : org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor
at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:449)
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:431)
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:424)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:268)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:246)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295)
at com.talent.TestApplication.main(TestApplication.java:10)
Caused by: java.lang.IllegalArgumentException: class org.springframework.boot.cloud.CloudFoundryVcapEnvironmentPostProcessor is not assignable to interface org.springframework.context.ApplicationListener
at org.springframework.util.Assert.assignableCheckFailed(Assert.java:720)
at org.springframework.util.Assert.isAssignable(Assert.java:651)
at org.springframework.util.Assert.isAssignable(Assert.java:682)
at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:443)
... 7 more

 

Linux 서버와 배포하는 프로젝트의 Spring boot의 버전이 맞지 않아 떨어진 이슈였고

다음과 같이 pom.xml의 버전을 수정해주었다.

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.7</version>
<relativePath />
</parent>

 

gradle을 사용한다면

plugins {
id 'org.springframework.boot' version '2.5.7'
id 'java'
id 'war'
}

다음과 같이 버전을 수정하면 된다.