-
[error] build 오류T-note 2024. 2. 10. 15:03728x90
현재 상황
현재 unit test 진행시에는 통과가 뜨는데, 빌드를 진행하면 test code들이 실패가 됩니다.
테스트 코드 실행시 통과 하지만 내가 만난 에러 상황
TNoteApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:802 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:802 Caused by: org.springframework.boot.context.properties.ConfigurationPropertiesBindException at ConfigurationPropertiesBindingPostProcessor.java:99 Caused by: org.springframework.boot.context.properties.bind.BindException at Binder.java:392 Caused by: com.ulisesbocchio.jasyptspringboot.exception.DecryptionException at DefaultPropertyResolver.java:46 Caused by: org.jasypt.exceptions.EncryptionOperationNotPossibleException at StandardPBEByteEncryptor.java:1169 OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended
에러 문구 이런식으로 빌드시에 문제가 생겼다.
오류 원인
[ 해결중 ] 지금까지 봤을 때는 프로젝트에 jasypt를 적용한거 때문같다. 그래서 각각 테스트에도 그렇고 빌드시에도 jasypt를 적용해보고 있는데 아직 해결이 되지 않았다. [ 이렇게 생각한 이유가 에러 코드 마지막에 jasypt 관련해서 뱉고 있기 때문! ]
[ 해결완료 ] 정확한 이유는 모르겠지만, 추정상 스프링 부트의 버전(3.2.0)에 따른 gradle 파일 내부 코드 때문인거 같다.
gradle 파일아래에 jasypt 때문에 작성한 코드가 문제였던거 같다
해결 방안
gradle 에 있던 코드 삭제
tasks.named('test') { useJUnitPlatform() systemProperty 'jasypt.encryptor.password', findProperty("jasypt.encryptor.password") }
위와 같은 코드가 있었는데, 다른 사람들 프로젝트의 gradle을 보면 해당 부분이 없어서 시도해보았는데, 성공적으로 빌드가 되었다
결과
ec2에서 제공하는 퍼블릭 IP로 접근을 성공한 모습입니다!
'T-note' 카테고리의 다른 글
[code deploy] code deploy중 access denied (2) 2024.02.16 [Tnote] error: variable userRepository not initialized in the default constructor (0) 2024.02.15 [error] Name for argument of type [java.lang.Long] not specified (0) 2024.01.09 [Tnote] 스프링 시큐리티 - @AuthenticationPrincipal 로그인 정보 받기 (0) 2023.12.30 [Tnote] security 버전 변경에 따른 설정 변경 (2) 2023.12.28