오늘 기준으로 IntelliJ 2020.2 버전💢의 완전 기본적인 Java 웹 프로젝트를 생성하기 위해 머리를 싸맨 결과 드디어 Java 웹 프로젝트 만들고 Tomcat에서 Servlet을 실행할 수 있었다.
VSCode로 Front-end 코딩을 하다가 Java로 Back-end를 공부하려고 Eclipse를 실행하였다. 본인은 Servlet을 처음 접해서 "HelloServlet"을 콘솔에 출력하는 doGet() 메서드를 작성하는데
이렇게 한 글자만 쳐도 바로 나오는 VSCode가 너무 그리웠다. 그래도 여러 Servlet 관련 게시글이나 이후에 사용할 Spring의 게시글만 봐도 Eclipse로 작성된 문서들이 많았기에 Eclipse를 최대한 뜯어 고치기로 했다.
Eclipse IDE를 최대한 편하게 위해서 먼저 자동 완성을 어떻게 해야할 것 같았다.
eclipse autocomplete
이라고 검색해보니 제목부터가 내가 원하는 답변이 많을 것 같단 느낌이 들었다. 그 중 제일 추천이 많은 답변의 내용은 말 그대로 자동 완성 기능 단축키와 만약 수행이 안 되면 어떻게 활성화하는지에 대한 답변이었고 두 번째로 추천이 많은 답변은 바로!
내가 원하는 내용 그대로를 담고 있는 답변이었다.
자동 완성 단축키는 이미 알고 있고 활성화 방법은 이미 알고 있었다. 3번 문장은 내가 원하는 기능을 그대로 갖출 수 있는 마법의 문장과 같았다. 그래서 바로 Eclipse에 적용시켜보았다.
정말 행복하게도🎉 단축키를 누르지 않아도 자동 완성 목록을 보여주는 것이었다. 하지만 곧이어 두 번째 문제가 생겼다.
Servlet의 매핑을 web.xml로도 수행해보는 도중 저게 자동 완성이 안 되는 것이다. 물론 내가 직접 써도 되지 않겠느냐 하겠지만 이미 IntelliJ에서 MyBatis3로 SQL을 매핑하는 코드를 작성한 경험이 있기에 너무 불편하게 느껴졌다.
왜이렇게 자동 완성을 좋아하냐❓ 하면 오타 하나 때문에 시간을 허비한 경우가 많았기에 웬만하면 자동 완성 기능을 사용하려고 한다. 그래서 IntelliJ로 프로젝트 생성을 시도해보았다.
또 구글링을 통해서 IntelliJ로 Java 웹 프로젝트 생성하는 방법을 열심히 찾아냈다. 그런데 거의 모든 게시글의 프로젝트 생성 화면과 내 컴퓨터에 있는 IntelliJ의 프로젝트 생성화면은 달랐다.
위가 게시글들의 프로젝트 생성화면이고 밑에가 내 컴퓨터의 프로젝트 생성 화면이다.
아니 왜 없냐고 💢💢💢💢💢💢💢💢💢💢💢
IntelliJ 공식 홈페이지를 찾아본 결과 Java Enterprise가 변경되었다고 하는데 지금 나에겐
이런 놈들이 당장 필요하지 않단 말이다...
그래도 시간을 투자해서 정말 필수적인 최소 조건만을 갖춘 프로젝트 생성법을 내 나름대로 만들었다.
알고 보니 어차피 나중에 Spring 프레임워크 등을 사용하려면 위의 Java Enterprise 프로젝트로 생성하면서 Maven같은 빌드 툴이 필요로 하다고 한다. 그래도 시간 투자한 게 아까우니까 작성한다.
기본 자바 프로젝트를 생성한다.
프로젝트를 오른쪽 클릭하여 Add Framework Support
를 클릭한다.
Java EE
의 Web Application
을 체크하고 Create web.xml
도 체크, OK
를 클릭한다.
그러면 Eclipse로 Dynamic Web Project를 생성했을 때와 비슷한 디렉터리 구조를 갖게 된다.
src
를 오른쪽 클릭하여 새로운 Servlet을 생성한다.
그라믄! 빨간줄 투성이가 된다 😆
이게 왜 이러냐면 이전 버전의 IntelliJ로 프로젝트를 생성하거나 Eclipse로 프로젝트를 생성할 때는 처음에 Tomcat 서버를 설정해주면서 자동으로 Tomcat의 라이브러리가 탑재되지만, 지금은 완전 수동이기 때문에 Tomcat의 라이브러리를 적용시키지 않았기 때문이다.
그럼 Tomcat의 라이브러리를 적용시키자. Ctrl + Alt + Shift + S
를 입력하고 Tomcat 폴더의 lib 폴더를 통째로 추가해주면 된다.
짜잔 우리가 원하는 형태로 돌아왔다.
이제 Servlet을 실행시켜보면 된다. Alt + Shift + F10
을 누르면 Run을 설정하라고 나오는데 이를 수행할 Tomcat을 설정해주면 된다.
필요한 설정을 마치고 빌드된 결과물의 형태 설정과 이 앱의 주소를 결정해야 한다.
Deployement
탭을 클릭하고 가장 기본적인 war로 하고 밑에 원하는 root 주소를 입력한다.
그리고 프로젝트를 시작하면 짠! servlet이 잘 실행된다.
간단하다. 원하는 Build Tool과 Test Runner를 설정하고 NEXT
를 클릭한다. Servlet
을 체크하고 원하는 설정을 한 후에 FINISH
를 클릭한다.
이렇게 프로젝트를 생성하면 구조가 특이하게 생겼는데 자바 클래스 파일은
src\main\java
경로에 생성하면 된다. 그리고 똑같이 Tomcat을 연동하고 프로젝트를 실행해주면 된다!
와..저랑 똑같은 고민을 하셨군요..실패에 실패를 거듭하다가..작성하신 글 보고 다시 해봐야겠어요!!