Spring Boot 5

[Spring boot] slf4j 에러

이전에 작업하였던 Spring boot 프로젝트를 eclipse에서 오랜만에 배포하였더니 slf4j 에러가 발생하면서 배포에 실패하였다. 이런 경우에 각 라이브러리 간의 버전이 맞지 않는 것이 원인이었던 경험이 있어 확인해 보았으나, 이전에 관련 라이브러리의 설정도 모두 맞춰 놓은 상태라 버전 간의 이슈도 없었다. eclipse 내에서 설정이 꼬여서 발생한 에러로 보였고 참조에 추가한 stackoverflow를 참고하여 해결하였다. 1. eclipse를 종료한다. 2. {user-home-dir}/.m2/repository 파일을 삭제한다. 3. eclipse를 재시작한 후 Project > Clean을 실행한다. 4. 오류가 났던 프로젝트를 close 후 다시 더블 클릭하여 open한다. 5. Spri..

Etc/에러 개선 2023.03.19

[Spring boot] Linux 배포 시 CloudFoundryVcapEnvironmentPostProcessor 에러

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.Sprin..

Etc/에러 개선 2022.10.06

[Spring boot] 배포 시 InvocationTargetException 에러

Spring boot web project 배포 시 다음과 같은 에러가 떨어졌다. Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:4..

Etc/에러 개선 2022.10.04

[Spring boot] Preference node "org.eclipse.wst.validation" has been removed. 에러

Spring boot 프로젝트 내에 새로운 directory를 추가한 후 Maven Update를 실행하였는데 다음과 같은 에러를 마주하였다. An internal error occurred during: Updating "프로젝트명". Preference node "org.eclipse.wst.validation" has been removed. 이 경우 {workspace directory}/.metadata/.plugins 로 이동하여 org.eclipse.wst.validation 폴더를 삭제해주고 IDE를 끄고 재시작하면 Maven Update시에 해당 오류가 뜨지 않는 것을 확인할 수 있었다. 참고 https://stackoverflow.com/questions/21414565/an-inter..

Etc/에러 개선 2022.06.28

[Spring Boot] REST API 메모리 이슈

Spring Boot 기반 REST API가 메모리를 점유하여 성능 저하, 부하 증가 등의 이슈가 있을 때 참고할 만한 사항들을 정리한 글이다. 1. DB 연결을 위해 java.sql.Connection을 사용하고 close() 하지 않은 경우 java.sql.Connection conn = null; PreparedStatement st = null; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url, id, pwd); st = conn.prepareStatement(sql); st.setQueryTimeout(3); /** sql 작업 */ } catch (ClassNotFoundException e..

Spring, Spring boot 2022.05.12