에러 창고(44)
-
[에러] 기본 클래스 server.backend.megaplan.MegaplanApplication을(를) 로드하는 중 LinkageError가 발생했습니다.
[Reason] Spring 프로젝트를 생성하고 정상적으로 동작되는지만 확인하기 위해서 application 을 실행했으나 발생된 이슈다. 자바 런타임 버전이 맞지 않아 생긴 문제라고 보여진다. [Solution] Run -> Edit Configuration -> Build and run 에서 jdk 버전 알맞게 수정
2023.05.19 -
[에러] Web server failed to start. Port 8080 was already in use.
[Reason] 어플리케이션을 실행하게 될 때 종종 볼 수 있는 에러이다. 말 그대로 현재 로컬에서 어플리케이션을 실행하게 되었을 때 해당 8080 포트번호 주소가 이미 다른 프로세스가 사용 중이라 연결을 끊고 다시 실행해 달라는 의미이다. [Solution] 명령 프롬프트에서 간단하게 해결이 가능하다. (1) 명령 프롬프트를 실행하고 netstat -ano 명령어를 입력하면 현재 연결 중이거나 연결 대기 중, 혹은 사용 중인 상태인 주소들이 출력된다. 해당 로컬 주소에서 8080 으로 끝나는 주소를 찾고 pid 번호를 기억해놓는다. (2) taskkill /f /pid {pid번호} 를 입력하여 8080 주소를 사용중인 주소를 종료시킨다.
2023.05.09 -
[에러] No value at JSON path "~~"
[Reason] 테스트 코드를 작성하고 MockMvcRequestBuilders에 post 형식으로 특정 api를 호출하여 매개 인자로 String 타입 변수로 변환한 Dto 객체를 넘겨주었다. 이후에 andExpect로 예상 값과 일치하는지 확인하는 과정에서 jsonPath로 앞서 doReturn의 예상 일치 결과 객체(ResponseEntity 객체) 안에 있는 특정 속성의 경로가 일치하지 않아 발생한 에러이다. ResponseEntity 결과 객체를 Json 형식으로 보면 data라는 속성 안에 다시 json 형식의 데이터가 들어가있었으므로 "email", "memberName" 으로 지정해주면 당연히 에러가 날 수 밖에.. [Solution] 올바른 경로를 지정해주어 해결하였다.
2023.03.17 -
[에러] EC2 Instance Metadata Service is disabled
[Reason] Spring 프로젝트에 AWS S3 를 연동하여 어플리케이션을 실행하였을 경우 발생된 에러이다. AWS EC2 인스턴스 환경이 아닌 다른 환경(로컬 환경)에서 어플리케이션을 실행하였을때 처음에 Failed to connect to service endpoint 라는 예외메세지가 나온다. 우선 이 예외메세지를 해결한 후 어플리케이션을 실행해보면 다시 본 에러가 발생한다. 임의의 옵션을 설정하여 첫 에러를 해결하였지만 EC2 의 metadata는 여전히 사용하지 않기 때문에 본 에러가 발생한 것이다. 해당 에러는 엄밀히 말하자면 에러가 아니라 예외메세지가 발생된 것이다. [Solution] application.yml 에 예외메세지가 발생되지 않는 설정값을 추가해주어 해결하였다. loggin..
2023.03.15 -
[에러] Error creating bean with name 'XXRepository' defined in com.example.project.share.XXRepository defined in @EnableRedisRepositories declared on XXApplication: Invocation of init method failed; nested exception is org.springframework.data.mapping..
[Reason] 데이터들을 Redis에 임시저장하기 위해서 Redis에 대한 설정을 하고 어플리케이션을 테스트로 실행해보았으나 해당 에러가 발생하였다. application 단에 @EnableRedisRepositories 어노테이션도 달아주었고, RedisTemplate을 사용할 것이기 때문에 해당 설정도 해주었으며, Repository도 생성해주었다. 레디스에 담길 객체도 생성을 해주었다. 알고보니 레디스에 담길 객체에 @Id 어노테이션이 말썽이였다. 기본적으로 JPA 를 사용하면서 Entity들의 @Id 어노테이션은 javax.persistence.Id를 import 받아 사용했는데 여기서는 다른 Id를 import 받아 사용해야 했다. [Solution] javax.persistence.Id 대신..
2023.03.15 -
[에러] Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=--------------------------764496436931945282489496;charset=UTF-8' not supported
[Reason] 구현 api에 요청 인자가 Json 형식의 Dto 객체가 존재한다. 해당 Dto 객체 안에는 기본적인 String 타입의 변수와 int 타입의 변수가 존재하고, MultiPartFile 타입의 변수도 존재한다. 바로 이 MultiPartFile이 Dto 객체 안에 포함이 되어있어서 발생된 에러이다. 요청 받을 때 요청 인자의 미디어 타입이 정해져있어야하는데 application/json 형식의 데이터들과 multipart/form-data 형식의 데이터가 같은 Dto 객체 안에 존재하기 때문에 요청 받을 때 @RequestBody로 하면 해당 에러가 발생한다. [Solution] 해당 에러에는 내가 해결한 방법으로 두 가지가 있다. (1) @RequestBody를 제외한다. (2) Dto..
2023.03.14