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를 다시 해주세요.)

'The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports.'

 

새로운 스프링 프로젝트를 생성 및 등록하고 톰캣을 실행하려고 하니 해당 에러가 발생했습니다.
실행시킨 톰캣의 포트가 유효하지 않아 발생된 에러로 아래와 같이 해결해 주시면 됩니다.

 

 

1. 'Server' 탭의 톰캣 더블클릭 

 

 

2. 'Ports'의 'Tomcat admin port' 및 'HTTP/1.1' 포트가 입력 됬는지 확인

 -> 보통 새로 설정 하면 'Tomcat admin port'가 '-' 로 설정되있는 경우가 있어 위의 에러가 발생 합니다.

 

 

 

3. 정상적으로 실행된 톰캣입니다.

스프링 프로젝트 사용 중  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

 

 

스프링 프로젝트를 생성하고 jsp 파일에 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 에러가 발생 하였습니다.

프로젝트 runtime을 위해 톰캣을 추가 해주고, Dynamic Web Module, Java, JS 의 버전을 같이 수정 해주세요.

 

* 프로젝트 우클릭 -> Properties -> Project Facets -> 아래 그림 2-1을 참고 해주세요

 

그림 2-1

 

'Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다'

 

잘 돌아가던 서버가 수정도 안 했는데 404에러가 발생하면, 톰캣 서버 Web module 의 path를 수정 해주시면 됩니다.

* 현재 아래 그림의 수정이 완료된 상태입니다. 

아래 그림2-1 처럼 올려야 할 프로젝트를 선택 하고 edit를 눌러주세요. 그리고 필요한 path를 입력 하시면 됩니다.

Spring 프로젝트를 진행 중이시라면 ' / ' 로 하시면 됩니다.

 

ps. 그나저나 저 HTTP 에러 상태 페이지를 영어로 보여지게 할 수 없나요 ㅇ_ㅇ? 

스프링 프로젝트를 구동 시키기 위해 톰캣 서버에 프로젝트를 추가 하려고 하는데 아래와 같은 에러가 발생 했습니다.

'Tomcat version 8.5 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5, 6, and 7 Web modules '

해당 에러는 톰캣, 자바, 웹 모듈 버전 등 서버 관련 버전이 맞지 않기 때문입니다.

저 같은 경우는 servlet 4.0을 사용하려고 헀는데 톰캣 8.5를 사용 하기 때문에 발생 했습니다.  

 

위의 표를 확인하고 프로젝트 생성 전에 버전을 맞추시거나, Project Facets에서 버전을 수정해주시면 됩니다.

안녕하세요, 전날까지 사용하던 MariaDB가 갑자기 아래 처럼 접근 거부 에러를 발생 시켰습니다.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


제가 말씀 드리는 부분은 오직 '잘 되던 MariaDB' 문제고, 비밀번호를 잊어버리신 분은 다른 포스트를 참고 해주세요! 

 

1. 실행 창 (CTRL + R) 

2. services.msc 검색

3. 3306 포트를 사용 하는 2개 이상의 DB 시작 유형이 '자동'이라면 다른 DB가 3306포트를 우선 사용 할 수 있습니다.

  저는 MariaDB를 사용 하는데 MySQL57이 실행 중일 때 접근 거부 에러가 발생 했습니다.

4. 사용하지 않는 DB 우클릭 -> 시작 유형을 '수동' or '사용하지 않음'으로 해주세요

INFO: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.

해당 에러 발생시 tomcat 의 server.xml 파일에서 해당 리스너를 추가 후 재시작 해주시면 됩니다.

 

*리눅스 환경에서는 

/tomcat/conf 경로에 있습니다.

 

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>

 

 

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on"/>

 

스프링 프로젝트를 처음 생성 했는데, unknown 에러가 발생하여 난감하신 분들이 많다고 생각됩니다.

아래 그림(1-1), 그림(1-2) 같은 에러가 발생 하는 분들에게 도움이 되고자 포스팅 합니다.

 

해당 문제는 막 생성된 maven을 생성 할 수 있게 pom.xml 에 등록을 해주시면 쉽게 해결 됩니다.

 

 

그림(1-1)
그림(1-2)

 

 

 

1. https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-jar-plugin 

   해당 URL에서 사용 하고 싶으신 플러그인 버전을 선택 해주세요.

 

Maven Repository: org.apache.maven.plugins » maven-jar-plugin

Builds a Java Archive (JAR) file from the compiled project classes and resources. VersionRepositoryUsagesDate3.1.x3.1.2Central 0 May, 20193.1.1Central1Dec, 20183.1.0Central5Apr, 20183.0.x3.0.2Central10Jun, 20163.0.1Central 0 Jun, 20163.0.0Central 0 May, 20

mvnrepository.com

 

 

 

2. pom.xml 의 <properties>에 아래와 같이 추가 해주고, 해당 jar파일이 다운로드 될 때까지 기다려 주세요.

	
	
		3.1.1
		1.8
	

위에 글이 깨지시는 분은 아래 텍스트를 추가 해주세요 !

<properties>  <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version> </properties>

 

 

 

3. 우선 pom.xml 에 에러가 해결된것을 확인 하실 수 있지만, 여전히 프로젝트 아이콘에는 에러 표시가 존재 합니다.

그림(3-1)

 

 

4. 'Problems' 항목에서 해당 에러를 확인 후, 그림2, 3과 같이 우클릭 -> 'Quick Fix' -> 'Finish' 버튼을 눌러주세요. 

(못 찾으시면, 상단 Window -> Show View -> Problems 를 선택 해주세요)

그림(4-1)
그림(4-2)
그림(4-3)

 

 

 

5. 해당 과정을 완료 하시면 그림(5-1) 같이 모든 에러가 해결 됬음을 확인 하실 수 있습니다.

그림(5-1)

 

 

Could not delete /.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/appname/WEB-INF/lib. May be locked by another process


잘 돌아가던 서버가 퇴근하고 출근하니 위에 에러가 뜨면서 실행이 되지 않았습니다.ㅠㅠ

그래도 구글링 하니 간단한 방법으로 해결이 가능해서, 다른 분들에게 도움이 되고자 포스팅 합니다!

 

톰캣이 실행될때 이전에 올라간 tmp0 폴더의 파일들이 삭제되지 않아서 생기는 문제인것 같습니다.

1. 우선 server 의 사용 하시는 톰캣 우클릭->그림(2)와 같이 'Clean' 과 'Clean Tomcat Work Directory'를 실행 해주세요.

그림(1)
그림(2)

 

 

 

2. 저 같은 경우는 위 두번의 Clean을 진행 하였을때 다시 서버 실행이 가능 했습니다.

   하지만 그래도 실행이 되지 않는다면, org.eclipse.wst.server.core 디렉토리의 tmp0 폴더를 삭제 해주시면 됩니다.

   사용자 마다 경로가 다를 수 있지만, 워크스페이스/.metadata/.plugins/org.eclipse.wst.server.core 는 동일하니, 

   해당 폴더에 있는 tmp0 폴더를 삭제 하신 다음, 위에 두가지 Clean을 다시 실행 하시면 문제가 해결 됩니다 :)

 

 

+ Recent posts