새로운 Module을 생성하기 대신에 저는 Import Module 방법에 대해 정리하고자 합니다.
팀 프로젝트 시 아직은 제가 신규 module을 생성하기 보다는 개발된 module(project)를 svn checkout 받아 수정하는 경우가 많습니다.
요즘 진행하는 프로젝트는 Web Application, Web Service 영역입니다. 프로젝트들의 구성을 통일하면 좋겠지만.. 개발자 성격에 따라 조금씩 다른 경우가 있습니다.
JAVA Web Application module에 필요한 라이브러리는 다음 정도일 것입니다. (그 외 필요 라이브러리들..)
프로젝트를 정상적으로 컴파일하기 위해 Import 후 필요 라이브러리들의 버전과 import 여부를 꼭 확인해야 합니다.
공통
대부분 import 후 셋팅은 File> Project Structure 에서 진행됩니다.
# Project Structure> Project 공통 SDK를 설정 할 수 있습니다. module import 시 기본으로 설정되는 값입니다.
# Settings> Application Server (Tomcat Server)를 추가합니다. Home, base diractory는 Tomcat이 위치하는 경로에서 bin 디렉토리 상위를 지정합니다.
Case 1. Eclipse Web Application 프로젝트
# Eclipse에서 작성된 프로젝트인 경우 Import Module 단계에서 Eclipse 프로젝트로 import 합니다. (그냥 Create module from existing sources를 통해 import하면 자동으로 하기 셋팅들을 잡아주기도 하는 것 같습니다. eclipse로 작성된 프로젝트를 intellij에서 수정/공유 시 충돌을 염려하여 Eclipse 프로젝트로 import하였는데 어느정도 영향이 있을지 모르겠습니다. 눈에 보이는 차이점은 Eclipse 프로젝트로 import 시 eclipse 관련 라이브러리 및 .classpath, .project 파일들도 함께 import 되어 Project View 창에서 볼 수 있습니다. 이 부분에 대해 조언 좀..)
# File> Project Structure> Modules> Import한 Module 선택 시Dependencies 탭이 빨갛습니다. 😦
# Module SDK 선택> 프로젝트 버전에 맞는 버전 선택, 없다면 New로 SDK 등록 후 선택
(Platform Settings> SDKs 에서도 SDK(JDK) 등록이 가능합니다.)
# 우측 + 선택> Library..> 프로젝트 버전에 맞는 Tomcat Library Add
# Facets> + > Web 등록
Web Module Deployment Descriptor 경로가 실제 web.xml이 있는 경로인지 확인합니다.
Web Resource Directory 경로가 실제 WEB-INF 폴더가 있는 경로인지 확인합니다.
# 하단의 ‘Web’ Facet resources are not .. artifacts 문구 우측의 Create Artifacts를 선택합니다. 해당 module의 Artifact가 생성된 것을 확인할 수 있습니다.
# 다시 Project Structure> Modules 에서 JARs and directorise..> Web 루트의 라이브러리 폴더(lib)을 추가(참조)합니다.
# org.eclipse… 관련 라이브러리들은 Eclipse 관련 라이브러리들이므로 지워도 되고 그대로 둬도 빌드는 됩니다.. 그 밖의 탭에서 빨간 것들을 처리해주세요.
설정 후 ‘Apply’ 잊지마시고, 이제 Run 해봅니다!
# Run> Edit Configurations> 좌측 상단 ‘+’ 선택, Tomcat Server, Local 추가
# Name, Application server, Open browser 주소, HTTP port 를 프로젝트에 맞게 설정합니다.
# Tomcat launch 전 프로젝트(Module)를 Make, Build하려면 해당 Module의 Artifacts를 추가합니다.
# 만약 해당 Web 주소 뒤 Context path가 붙는다면 Deployment> Application context 부분에 설정합니다. (예. http://localhost:8080/TestServer 주소의 TestServer)
위 부분은 찾느라 정말 삽질했습니다.. 😦
이제 만든 Tomcat server를 Run 하면 프로젝트의 메인페이지가 짠~! 😀
다음 글에서는 Case 2. Eclipse Web Application 프로젝트 + Maven 을 다루어보겠습니다.
조언과 댓글은 언제나 환영입니다.
삽질하며 힘들게 작성한 글입니다. 공유 시 출처를 명시해주세요.