티스토리 뷰
Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jetty/webapp/Configuration
whoAmI_ 2023. 3. 4. 21:10
스프링부트로 내장서버를 이용하려다 만난 에러이다.
스프링부트(Spring Boot)에는 톰캣이 내장되어 있어, 애플리케이션을 빌드하고 실행하는 것만으도로도 웹 애플리케이션을 서비스 할 수 있다. 톰캣을 따로 설치할 필요 없이 애플리케이션을 바로 실행할 수 있다는 것을 의미한다.
필요시 프로그램에서 코드로 톰캣을 사용할 수 있도록 도와주는 클래스가 있는데 바로 TomcatServletWebServerFactory() 라는 메서드이다.
그리고, 스프링 부트는 톰캣 외에 제티나 언더투어등 다른 서블릿 컨테이너도 지원해며 이를 사용할 수 있도록 ServletWebServerFactory로 추상화를 해놓았다.
ServletWebServerFactory를 구현한 클래스는 getWebServer()를 지원해야 하는데, return 타입은 WebServer 이다.
public static void main(String[] args){
ServletWebServerFactory ServerFactory1 = new TomcatServletWebServerFactory();
WebServer tomcatWebServer = serverFactory.getWebServer();
ServletWebServerFactory serverFactory2 = new JettyServletWebServerFactory();
WebServer jettyWebServer = serverFactroy.getWebServer();
tomcatWebServer.start(); //톰캣서블릿컨테이너 동작!
}
필요한 웹서버를 선택하여 서버공장을 만들고 getWebServer()메소드를 이용해서 우리가 원하는 웹서버를 return 받을 수 있다.
이 때, 톰캣이 정상구동하는 것을 확인 한 후, JettyServletWebServerFactory() 메서드로도 구동되는지 궁금하여 테스트를 하다 만난 에러이다.
클래스가 없다..?
java.lang.ClassNotFoundException: org.eclipse.jetty.server.Request when starting with jetty:run-forked and connecting with ssl
I'm using jetty's pushbuilder to push some resources. As these resources are specified from inside the webapp, i can't use jetty's default pushCacheFilter. When i start jetty embedded from my mai...
stackoverflow.com
라이브러리가 없기 때문에 Maven 이나 Gradle에 추가해줘야 정상구동 한다는 의미로 보인다.
// https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-util
implementation group: 'org.eclipse.jetty', name: 'jetty-util', version: '9.4.31.v20200723'
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>9.4.31.v20200723</version>
</dependency>
'ALL > 에러로그' 카테고리의 다른 글
[JPA 에러] javax/xml/bind/JAXBException (0) | 2023.02.07 |
---|---|
[Spring Boot 에러] no matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.2 was found (0) | 2023.01.30 |
- Total
- Today
- Yesterday
- MySQL
- 스프링
- React
- 자바의정석
- JavaScript
- 코드로 배우는 스프링 웹 프로젝트
- 인덱스
- 옵티마이저
- 스프링의정석
- spring
- 멀티스레딩
- SQL
- 시큐리티
- 이정환
- 스프링 빈
- 한입크기로 잘라먹는 리액트
- node
- 친절한SQL튜닝
- EC2
- Spark
- 데브캠프
- @Configuration
- Oracle
- 데이터베이스
- Node.js
- 스프링 프로젝트
- 남궁성
- AWS
- 리액트
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |