본문 바로가기
728x90

오류를 개발새발49

ClassNotFoundException ) io.lettuce.core.AbstractRedisClient Redis 를 사용하는 코드를 작성하고 빌드했는데 예외가 발생했다 AbstractRedisClient 클래스가 없다는 예외 같았다. 기존에는 이렇게 종속성을 버전을 명시해 쓰고 있었다. implementation 'org.springframework.data:spring-data-redis:2.7.5' 하지만 스프링 부트는 본인이 사용하는 대부분의 종속성을 미리 정해두기 때문에 굳이 버전을 명시하지 않더라도 본인 버전에 맞는 종속성 버전을 자동으로 가져와준다. 그래서 기존 종속성을 아래와 같이 바꿔주었다. implementation 'org.springframework.boot:spring-boot-starter-data-redis' 그랬더니 서버가 잘 빌드된다. 기존 springframework 용 종.. 2023. 12. 6.
Docker ) Could not find a valid Docker environment. Please see logs and check configuration Mac M2로 도커 테스트를 시도하던 나. 문제가 발생했다. 이렇게 도커 설정을 찾을 수 없다고 나온다. 한 마디로 연결이 안 되는 것. 나는 @ActiveProfiles 로 test/resources/application.yml 설정을 직접 사용중인 상태 ㅇ_ㅇ 테스트용 컨테이너는 따로 만들지 않았다! 일단 해결하려고 한 시도들... - 일반 서버 빌드를 했을 땐 도커랑 MySQL 은 잘 연결된다. create-drop 으로 엔티티 테이블이 잘 만들어지는지도 확인했고 docker exec -it mysql_yomankum /bin/bash 명령어로 배쉬에 들어가 mysql에 직접 접속해 테이블이 만들어졌는지도 확인했다 ! - 오직 테스트 환경에서만 도커 설정을 찾을 수 없다. - test/resourc.. 2023. 11. 1.
분명 NULL 을 보냈는데 왜 오류가 안 뜨고 값이 들어갈까? 컨트롤러에 실패 케이스를 테스트하던 중 null 을 보냈는데 실패가 아닌 성공을 하는 경우가 발생했다 @Test @DisplayName("태그 NULL 실패") void 태그NULL_실패() throws Exception { User findUser = new User("user", "pwd"); User user = userRepository.save(findUser); String name = null; MockHttpSession session = new MockHttpSession(); session.setAttribute("id", user.getId()); mockMvc.perform( post("/tag") .content(mapper.writeValueAsString(name)) .cont.. 2023. 8. 8.
AWS ) 'no space left on device' 서버에 용량이 없대요... aws 서버에 용량이 없어서 out of memory 로 서버가 다운되길래 어쩌구 저쩌구 하다가 일단 jar 파일을 삭제하고 다시 다운로드 해보자! 싶어서 git 에서 다시 파일을 불러오려고 했더니 no space left on device 용량이 없음 !! 에러가 나타났다 일단 용량을 확인하자 df -l /dev/root 에 용량이 꽉 찼다 그러면 어떤 파일이 용량을 잡아먹고 있을까? lsof / COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 이렇게 쭈우욱 나온다 여기에서 필요없는 파일들을 삭제하면 된다 나는 내가 삭제했었는데 제대로 안 지워진 디렉토리가 있어서 삭제했는데 해당 디렉토리에 쓰기 보호 상태인 파일들이 있어서 바로 지워지지가 않아서 rm -r /.. 2023. 6. 15.
Git ) 특정 커밋을 내역을 삭제하고 싶다 큰일났다 서버 배포할 때 어쩌구 저쩌구 하다가 실수로 application.yml 파일을 commit push 해버리는 사태가 발생했다ㅠㅠ 일단 최근까지 변경 사항을 백업해놓은 후 수습을 해보도록 하자 일단 내가 실수로 커밋한 바로 전 단계로 커밋을 되돌린다 보통 git log 를 써서 log 를 찾으라고 돼있는데 나는 굉장히 오래전 커밋이라 깃허브 커밋 로그에서 해당 커밋을 찾았다 ㅡ_ㅠ 그리고 git reset --hard 해당커밋 으로 전 단계 커밋으로 되돌린 뒤 git push -f origin 브랜치 로 강제 푸쉬를 박아버린다 그러면 해당 커밋 이후에 있던 내역은 모조리 삭제되고 내가 강제로 되돌린 커밋으로 되돌아간다 근데 이건 아예 삭제해서 복구 불가하게 만드는 건데 난 application.. 2023. 5. 30.
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/uri], template might not exist or might not be accessible by any of the configured Template Resolvers 서버 배포를 위해 jar 파일을 만드는데 로컬에서는 돌아가는데 jar 에서는 해당 오류가 발생해서 페이지에 접속되지 않았다 내가 jar 파일 용량 때문에 jar 파일에서 static 에서 일부 필요 없는 디렉토리를 삭제했었는데 그 이후로 이런 현상이 발생해서 jar 파일 생성에 문제가 있는 줄 알아가지고 5일 동안 jar 파일 제대로 생성하는 법만 찾아봤었는데 @GetMapping 으로 직접 뷰 페이지로 이동 시키는 컨트롤러에서 이렇게 되어 있는 경로 코드 앞에 / 를 지워줬다 그랬더니 잘 동작한다... 검색해보니 로컬에서는 SpringBoot 내장 톰캣으로 서버를 돌리고 aws서버에서는 jar로 돌리게 되는데 환경 차이 때문에 / 를 붙이면 경로를 못 잡을 수도 있다~ 뭐 이런 거 같다 아마 내가 중간.. 2023. 5. 25.
728x90