inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

다시 복습하려고 프로젝트 다시 켰는데 오류가 뜹니다

8426

쿤Hyeong

작성한 질문수 12

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
1편 완강하고 2편으로 넘어가서 보다가
다시 1편 다시 복습하려고 인텔리제이를 2편에서 새로 만들던 프로젝트 닫기하고
1편에서 공부하면서 만들어서 타이핑 쳤던 servlet 프로젝트를 켰는데
서블릿 프레임워크 들이 다 어디로 삭제되었는지 어디서 오류가 발생했는지
import 되어야 할 부분이 다 빨갛게 변했습니다. Alt + Shift + Enter 나 Find JAR on Web 등
마우스 커서 올려서 눌러볼 수 있는 걸로 해결하려고 해도
방안을 못찾고 있습니다.
프로젝트를 삭제하고 다시 만들어야 하나요? 되살릴 수 없는 방법 있을가요?
그 동안 스프링MVC 1편에서 만들었던 프로젝트에서 모든 클래스가 다 빨갛게 변했습니다 ㅠㅜ
Run on Server 돌리면 클래스를 찾을 수 없다고 나오는데
어떻게 해야할지 못 찾겠습니다..ㅠㅜ
중간에 강의보면서 구글링 검색하고, build.gradle -> dependencies 에 빠진 항목 있나
살펴보다가
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' 를 확인하고
타이핑 쳐서 적용하고
다시 실행하면 빨간 색 글씨는 다시 원래대로 정상으로 돌아가는데
spring 은 구동은 되는데, 어디서 부터 에러가 발생했는데, 버젼이 안 맞는건지, 여기서 부터 잘 모르겠습니다....
콘솔창에는 이렇게 나옵니다.
------------------------------------------------------------------------------------
2021-07-20 16:51:39.087 WARN 38188 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet 2021-07-20 16:51:39.103 INFO 38188 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-07-20 16:51:39.145 ERROR 38188 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Unexpected exception during bean creation; nested exception is java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:537) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:213) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:196) ~[spring-context-5.3.7.jar:5.3.7] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.7.jar:5.3.7] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.7.jar:5.3.7] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:337) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1336) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1325) ~[spring-boot-2.5.0.jar:2.5.0] at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[classes/:na] Caused by: java.lang.NoClassDefFoundError: javax/servlet/annotation/WebServlet at org.springframework.boot.web.servlet.WebServletHandler.<init>(WebServletHandler.java:39) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.web.servlet.ServletComponentRegisteringPostProcessor.<clinit>(ServletComponentRegisteringPostProcessor.java:49) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.boot.web.servlet.ServletComponentScanRegistrar$ServletComponentRegisteringPostProcessorBeanDefinition.lambda$getInstanceSupplier$0(ServletComponentScanRegistrar.java:94) ~[spring-boot-2.5.0.jar:2.5.0] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1231) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1173) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.7.jar:5.3.7] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.7.jar:5.3.7] ... 13 common frames omitted Caused by: java.lang.ClassNotFoundException: javax.servlet.annotation.WebServlet at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] ... 20 common frames omitted

spring springframework MVC

답변 2

0

OMG

첨부하신 링크보고 확인해보았습니다.

1.  첫 화면

2. 우측상단 Test 하던 설정을 서버 구동으로 변경

3.  실행시 에러 발생(인텔리제이 IDEA)

 

4. 정상작동(Gradle)

5. Run on Server 실행할 때 모래시계 로딩중이 무한루프 돌아서 

프로젝트 공유 받고 무료버전으로 실행시켜보았습니다.

우선 말씀하신 증상은 build and run using을 INTELLIJ IDEA로 해서 생기는 문제가 맞으며

이전에는 어느분에게 조언을 듣고 INTELLIJ IDEA로 선택했을 때 문제 없이 작동한지 모르겠으나 

무료버전에서 war 패키징에서 톰캣과 idea설정이 충돌이 발생하여 gradle로 진행해야 하는 것은 어쩔 수 없어보입니다.

그리고 모래시계 관련된 부분은 서버가 계속 구동중임을 나타내는 것으로  실행 자체에 영향을 끼치는 것은 아니며 종료 시 메시지가 출력되는 것 또한 어쩔 수 없는 부분으로 보입니다.

또한 gradle시 시간이 오래 걸리는 것도 gradle을 거쳐서 실행되기에 시간이 소요가 되고 그렇기 때문에 영한님이 강의에서 intellij idea로 바꿔서 설정하라고 말씀해주시는 부분이며 gradle로 진행해야하는 상황상 속도 또한 어쩔수 없는 부분으로 보입니다.

---

무료 버전의 이러한 불편한 점들 때문에 다른 수강생분들에게 STS의 사용 혹은 유료 버전의 결제를 권장드리고 있습니다.

추가적으로 궁금한 사항은 새로 글을 작성해서 올려주시면 다른 서포터 분들 혹은 영한님이 자세히 답변해 주실거에요.

0

쿤Hyeong

결국은 유료냐 무료 버젼의 차이에서 나오는 문제였네요. 친절한 답변 감사합니다

0

OMG

안녕하세요. 쿤Hyeong님, 공식 서포터즈 OMG입니다.

아래의 링크(case 1)와 링크에서 제 답변에 포함된 링크(case 2)를 타고 가시면

쿤Hyeong님과 동일한 에러를 출력하고 있음을 확인할 수 있습니다.

말씀드린 (case 2)에 영한님 답변에 해결책이 있습니다.

https://www.inflearn.com/questions/231532

감사합니다.

0

쿤Hyeong

지금 인텔리제이 무료버젼 사용중이고, 예전강의에서나, 한 참전에 설정에서 Gradle 로 돌리면 오래걸리거나 Run on Server 실행할 때 모래시계 로딩중이 무한루프 돌아서 IntelliJ IDEA 로 설정하라고 하셨었습니다. 예전에 강의들으면서 무료버젼에서 이렇게 설정할 때는 오류없이 잘 돌아갔는데

왜 갑자기 안되는건지 이해가 안 됩니다.

0

David

인텔리제이 상단 메뉴 File - Invalidate Caches를 한 번 실행해보시겠어요?

0

쿤Hyeong

그래도 콘솔창에 여러개 에러가 뜹니다 ㅠ

0

김영한

프로젝트 초기화를 진행해보시겠어요?

먼저 프로젝트를 닫은 다음에

File -> Open -> 해당 프로젝트의 build.gradle을 선택해주세요. 그 다음에 선택창이 뜨는데, Open as Project를 선택해주세요.

감사합니다.

0

쿤Hyeong

매번 그렇게 프로젝트를 닫고 다시 해봐도 똑같은 Error 가 콘솔창에 그대로 나옵니다...

0

David

해당 프로젝트 압축하셔서 구글 드라이브로 공유해주실 수 있으세요?

0

쿤Hyeong

https://drive.google.com/file/d/10bWzDjBHvn9uZ5UEjw3-jQusfLhjwn14/view?usp=sharing

0

OMG

전체 공유로 돌려주세요.

0

쿤Hyeong

https://drive.google.com/file/d/10bWzDjBHvn9uZ5UEjw3-jQusfLhjwn14/view

mvc 패턴 - 적용 강의에서 회원가입할 때 redirect가 아닌 forward인 이유가 궁금합니다.

0

29

1

servlet과 container에 대한 질문입니다

0

54

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

84

1

jsp 의존성 수정 요청

0

123

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

158

1

save() 메서드 문의

0

78

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

114

1

request-body-json

0

94

2

MVC 패턴의 적용 단위

0

103

1

RequestMapping을 이용한 핸들러, 어댑터

0

124

2

save 후 결과화면

0

101

2

jsp를 이용한 view

0

102

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

190

1

수업 코드 제공 관련 문의

0

107

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

109

3

파일 오픈 시

0

75

1

스프링 배치 관련

0

81

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

115

1

postman으로 /request-body-json-v1 호출시 500 error

0

106

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

90

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

119

1

console log 출력 관련 질문입니다.

0

79

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

146

1

html 변경하는 부분 적용 문제

0

108

1