작성
·
2K
2
[질문 내용] 내장톰캣 서블릿 강의 코드를 따라 작성하고 실행하는 도중 아래와 같은 문제가 발생했습니다. 제가 따로 작성한 코드도 없고 그냥 파일생성과 붙여넣기만 했는데.. 실행이 안되네요..
Gradle 설정 문제인가 싶어 Setting에 default 를 Intellij 로 바꾼 뒤 다시 실행했더니 아래와 같은 에러 메시지가 떴습니다.
그리고 영한님과 다르게 main 실행 후
디랙토리에 아래 사진과 같은 패키지가 생성되었습니다.
문제가 무엇일까요?
답변 2
10
안녕하세요. Hyeongjun Kim님^^
다음 부분을 메뉴얼에 업데이트 해두었습니다. (업데이트 날짜 2023-03-03)
다음을 참고해서 적용해주세요.
실행시 특정 환경에서 다음과 같은 오류가 발생하는 경우가 있습니다.
Caused by: java.lang.IllegalArgumentException: The main resource set specified [...\tomcat\tomcat.8080\webapps] is not valid
이런 경우에는 다음을 참고해서 코드를 추가해주시면 됩니다.
...
//서블릿 등록
Context context = tomcat.addContext("", "/");
//== 코드 추가 시작==
File docBaseFile = new File(context.getDocBase());
if (!docBaseFile.isAbsolute()) {
docBaseFile = new File(((org.apache.catalina.Host) context.getParent()).getAppBaseFile(), docBaseFile.getPath());
}
docBaseFile.mkdirs();
//== 코드 추가 종료==
tomcat.addServlet("", "helloServlet", new HelloServlet());
context.addServletMappingDecoded("/hello-servlet", "helloServlet");
tomcat.start();
...
감사합니다.
0