IntelliJ에서 이클립스 Maven 프로젝트 사용 방법

IntelliJ에 이클립스 프로젝트 Import

프로젝트 복사

기존 이클립스 프로젝트에 영향이 가지 않게, 이클립스 프로젝트를 통째로 복사하고 이름을 변경합니다.
IntelliJ workspace에 프로젝트 폴더, 톰캣 폴더만 복사해서 옮겨도 좋습니다.

IntelliJ에서 이클립스 프로젝트 열기

좌측 상단 File > New > Project from Existing Sources… > 복사한 이클립스 폴더의 workscase에서 프로젝트 폴더 선택 > OK > import project from external model : Eclipse 선택 > Next > Next > Git 프로젝트 폴더 선택 > Next > Next > 좌측 상단 + > Add JDK > 이클립스 Java Build Path에서 확인한 Java 버전에 맞는 JDK를 오라클 홈페이지에서 다운받아 설치 > JDK 경로 선택 (예시 : C:\Program Files\Java\jdk-1.8) > OK > JDK 버전 선택 > Create > Import from Eclipse 경고창 OK > New Window >
우측 하단 Maven build scripts found 팝업에서 Load Maven Project 버튼 클릭 ★
이 버튼을 누르지 않으면 모든 설정을 직접 수동으로 해야 합니다..

IntelliJ 최신 버전에서는 이클립스 프로젝트 Import 후 모듈명이 common으로 잡힐 수 있으나, 그대로 사용하는 것이 좋습니다.

프로젝트 정상 로드 확인
좌측 상단 File > Project Structure… > Modules > 프로젝트명 폴더 > Web > Deployment Descriptors : Web Module Deployment Descriptor 경로가 프로젝트경로\src\main\webapp\WEB-INF\web.xml 이면 정상입니다.


IntelliJ에서 이클립스 프로젝트 톰캣 설정

톰캣 추가

우측 상단 Add Configurations > 좌측 상단 + 버튼 > Tomcat Server : Local 선택 > Application server : Configuration 클릭 > 좌측 상단 + > Tomcat Home : 프로젝트 톰캣 폴더 선택 (예시 : apache-tomcat-9.0.82) > OK > Name : 톰캣명 버전 입력 > Store as project file 체크 (팀원에게 동일한 톰캣 설정 공유 가능. 팀원마다 톰캣 설치 경로가 다른 경우 체크X) > HTTP Port : 프로젝트 URL 포트 입력 > Before launch : Build (최신 코드 컴파일) 후 Build ‘프로젝트명:war exploded’ artifact (톰캣에 war 배포) 순서로 배치 > Apply > OK

톰캣에 프로젝트 추가
우측 상단 Edit Configurations > 추가한 Tomcat 선택 > Deployment 탭 > + 버튼 > Artifacts… > 프로젝트명:war exploded 선택 > OK > 하단 Application context: / 로 수정 > Apply > OK
프로젝트 추가 후 Before launch 순서가 정상인지 확인하는 것이 좋습니다.

톰캣 DB 연결 설정

프로젝트 톰캣 폴더\conf 아래 server.xml, context.xml에 기존 이클립스 톰캣 설정을 복사하고 저장합니다.
DB 관련하여 server.xml은 Resource 설정, context.xml은 ResourceLink 설정이 되어있어야 합니다.


IntelliJ 톰캣 실행

톰캣 실행 방법

우측 상단 Tomcat 오른쪽 ▶ 버튼 클릭

Lombok 어노테이션 프로세싱 활성화

lombok requires enabled annotation processing

톰캣 실행 시 우측 하단에 위와 같은 에러가 나오면, Enable annotation processing 버튼을 클릭하면 됩니다. IntelliJ에서 Lombok이 정상 동작하려면 Annotation Procecssing 기능을 활성화해야 합니다.

톰캣 실행 시 지난 빌드 프로파일이 남아있는 경우

<build>
  <resources>
    <resource>
      <directory>src/main/resources-${env}</directory>
    </resource>
    <resource>
      <directory>src/main/resources</directory>
    </resource>
  </resources>
  <!-- 생략 -->
</build>

pom.xml에 빌드 시 프로파일을 ${env}와 같은 maven 환경변수 값으로 지정하는 프로젝트에서
서버 구분에 맞는 프로젝트 War 빌드 후 로컬 톰캣 실행 시 프로파일이 꼬이는 경우,
톰캣 실행 전 Maven Build를 먼저 실행해서 resources-프로파일명 폴더를 target/classes로 복사해야 합니다.

톰캣 실행 전 Maven Build 실행 방법
우측 상단 Edit Configurations > 추가된 Tomcat 선택 > Server 탭 > Before launch > + > Run Maven Goal > Command line : clean package -Denv=프로파일명 또는 package -Denv=프로파일명 입력 > OK > Run Maven Goal ‘common component: clean package -Denv=프로파일명’이 Build artifact 전에 위치하도록 수정 > Apply > OK
Maven Build 시간이 많이 소요되므로, 지난 war 빌드 결과가 남아있는 경우에만 재빌드하는 것도 좋습니다.

브랜치 이동 후 톰캣 실행 에러 해결

우측 Maven View > 상단 Reload All Maven Projects 클릭 (메이븐 업데이트) > 톰캣 재실행
또는
좌측 상단 File > invalldate Caches > Invalidate and Restart > 톰캣 재실행


IntelliJ Maven war 빌드 방법

https://0songha0.github.io/op/2023-11-08-1#intellij-maven-war-%EB%B9%8C%EB%93%9C-%EB%B0%A9%EB%B2%95
IntelliJ에서 프로파일 설정하여 war 빌드하는 방법입니다.


IntelliJ 관련 파일 Git 제외 방법

.gitignore 파일 수정

# IntelliJ 관련 파일
.idea/*
프로젝트명.iml
.run/*

IntelliJ 관련 파일들을 git commit 시 제외하기 위해 .gitignore 파일 하단에 위와 같이 추가합니다.
이미 Git에 커밋된 파일은 무시되지 않고, 신규 생성되거나 변경되는 파일 및 폴더부터 무시됩니다.

이미 push 된 Git 파일 캐시 제거

git rm -r --cached . 또는 폴더명 또는 파일명
git add .
git commit -m "git 캐시 삭제 후 .gitignore 재반영"
git push

cmd 창에서 프로젝트 폴더 경로로 이동하고 위 명령어를 순차적으로 입력하면,
이전에 Push 했던 파일 및 폴더도 Git 캐시에서 삭제되어 정상적으로 추적 제거됩니다.