Intellij Spring 'Could not find or load main class' Caused by 'java.lang.ClassNotFoundException'

 

* 스프링 부트에서 'Gradle'이 아니 'Maven' 을 사용할 때 발생한 에러 입니다. (Gradle 도 동일할 수 있습니다.)

 

Maven 프로젝트 생성 및 개발 진행 중 특정 시점으로 소스를 롤백이 필요했습니다.

소스 롤백 후 start를 하는데 클래스를 찾을 수 없다는 에러가 발생 했고, 에러 해결 방법을 찾아 봤습니다.

 

아래와 같이 진행 해주세요.

1.Build 메뉴의 'Build Project' 또는 'Rebuild Project' 를 실행 해주세요.

(인텔리제이는 가끔 클래스를 최신화 하지 않기 때문에, build를 다시 해주세요.)

스프링 프로젝트 사용 중  Could not run phased build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-6.3-bin.zip'  에러가 발생 했습니다.

해당 문제는 gradle 버전이 맞지 않아 생기는 문제이며 C:\Users\{username}\.gradle\wrapper\dists 경로에서

그림 1과 같이 사용하지 않는 버전을 삭제 해주시고, 그림 2와 같이 필요한 버전을 다시 한 번 설정 해주세요.

wrapper를 사용 하시면 첫 번째 방법만 사용 하시면 됩니다.

 

그림 1
그림 2

 

(사진1)

Lombok을 사용하기 위해 pom.xml 에 라이브러리를 추가 하면 바로 사용 할 수 있다고 생각 했습니다.

그래서 당연히 위 (사진1)처럼 MemberEntity에서 선언된 bullder()가 정의 되지 않았다는 에러가 발생 했습니다.


Lombok 을 사용하기 위해서 생각보다 단순한 작업만 진행 해주시면 됩니다.

 

 

 

1. 우선 pom.xml에 아래 라이브러리 코드를 추가해주세요.


		
		
		
			org.projectlombok
			lombok
			true
		
		

 

 

 

2. 다운로드 경로에서 설치된 lombok-1.18.12.jar을 더블클릭해서 실행 해주세요.

(만약 클릭해도 압축 해제 창만 뜨면 아래처럼 cmd에서 실행 해주세요)

 

 

 

3. Eclipse를 사용하고 계시면 아래처럼 자동으로 바인딩된 상태로 'Install / Update'를 하시면 됩니다.

하지만 저는 STS를 사용하고 있으니 'Specify location'에서 STS.exe파일을 추가 해주시면 됩니다.

 

 

 

4. 원하시는 경로의 STS.exe 파일이 추가 됬는지 확인 하시고 'Install/Update'를 클릭하세하시고,

    다음 페이지는 무난하게 넘겨줍니다.

 

 

 

5. 설치 완료 후 STS및 이클립스를 재시작 해주시고 프로젝트 build를 해주세요. 

MemberEntity 클래스에 @Builder와 @Getter등 Lombok의 어노테이션이 정상적으로 작동해 bean등록이 되었습니다.

 

+ Recent posts