AWS S3를 연결한 후 갑자기 잘만 구동되던 main application이 구동이 안된다.
맨 윗단 에러 메시지는 아래와 같았는데,
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [/Users/.../web-api/build/classes/java/main/com/kaii/dth/WebApiApplication.class]
.
.
.
Failed to introspect Class [com.util.s3.S3Config] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader
.
.
.
Caused by: java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials
.
.
.
Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentials
처음엔 JDK 버전 or Java 버전 or Gradle 버전 or STS의 문제인가 하고 살펴봤는데
전부 문제가 없었다.
위에 에러메시지에 있는 com.util.s3.S3Config에 가보니
amazonaws쪽 import가 안되고있었다.
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
dependency 주입이 잘 안되고있나 ?
선임한테 여쭈어보니
모든 프로젝트의 의존성을 reload 해보는 방법
(gradle로 빌드를 해도 어차피 maven repo에서 불러온다)
File > Invalidate Caches... 를 클릭해서 캐시를 비워주자.
나는 1차만 해도 해결이 되었따!!!!!