IntelliJ (Ultimate) jdk 톰캣 연동법

Lee Jae-Baek·2023년 5월 16일
1

JAVA

목록 보기
1/1

(시스템 환경에 따라 차이가 있을 수 있음. 개인적인 해결법이니 참고만 부탁드립니다!)

인터넷 프로그래밍 수업을 하면서, IntelliJ를 통한 JDK 프로젝트 초기 설정을 어려워하시는 분들이 많은 것 같아 글을 작성합니다.

저의 경우, 학생 인증을 통해 IntelliJ Ultimate을 이용중입니다. 대학생은 Ultimate를 이용할 수 있으니 별다른 이유가 없다면 그걸로 ㄱㄱ하시는게 좋습니다. 1년마다 갱신해야하구요.

학생 인증법은 구글링을 통해 쉽게 찾을 수 있으니 따로 설명하지 않겠습니다.

IntelliJ에서 톰캣 서버를 연동하기 위해서는, 기본적으로 다음과 같은 두 가지 준비사항이 필요합니다.

  1. JDK가 설치되어 있는가?
    https://www.oracle.com/kr/java/technologies/downloads/ (운영체제에 맞는 Installer 다운)
    https://develop-writing.tistory.com/18
  2. 톰캣이 설치되어 있는가?
    https://develop-writing.tistory.com/19
    톰캣 폴더의 위치는 크게 상관 없지만, 편의상 C:/program Files/를 추천합니다. Java폴더가 같은 위치에 있습니다.

위 두 가지가 모두 완료된 후 IntelliJ를 엽니다.

New Project를 누르면 다음과 같은 창이 뜰겁니다. 저는 작은 창으로 연 거라 UI가 약간 다를 수 있습니다.

Jakarta EE를 클릭하고, 사진과 같이 설정합니다.
Jakarta EE는 Java EE가 이클립스로 넘어가면서 변경된 새로운 이름입니다.

Template을 Web application으로 설정하고, Application server를 톰캣이 설치된 위치로, JDK 경로를 JDK가 설치된 위치로 잘 지정해주세요.

어딨는지 못 찾겠다면 Everything이라는 프로그램을 통해 시스템 전체에서 tomcat이라는 파일들이 어디에 있는지 찾을 수 있습니다.
찾으셨다면 다음부터 찾기 쉽게 C:/program Files/로 옮겨둡시다.

건들지 말고 기본 설정으로 Create합니다.

그럼 저렇게 자동으로 파일 트리가 만들어집니다.
index.jsp를 찾아봅시다. 서버를 실행하면 화면에 보여질 파일이 이겁니다.

이제 톰캣 서버와 연동할 일만 남았습니다.
우측 상단에서 Current File -> Edit Con어쩌구를 클릭합니다.

이런 창이 뜹니다.
Add new를 눌러줍니다.

이런 창이 또 뜹니다. Tomcat Server를 찾고, Local을 클릭합니다.

그럼 이렇게 됩니다.
이제 최상단 Application server에서, 톰캣 폴더를 찾아 적용해줍니다.

JRE도 설치한 JDK 파일의 경로로 설정합니다. C:/program Files/Java/에 있을겁니다.
참고로 JDK는 JRE를 포함하고 있습니다.

설정이 끝나면 Fix를 눌러 배포 방식을 정합니다.

artifacts에 있는데, 거기 아무것도 뜨지 않는다면 +나 add를 클릭하여

배포 방식인 Web Application: Archive 또는 Web Application: Exploded를 추가해주면 됩니다.

두 배포 방식의 차이는 아래 블로그에 나와있습니다.
https://goddaehee.tistory.com/247

배포 방식을 설정한 후, Deployment 카테고리에서 다음과 같이 Application context를 /로 바꿔줍니다. 초기에는 /프로젝트명/으로 설정되어 있을텐데, 그럼 나중에 기본 url이 localhost:8080/MyProject/이런식으로 설정됩니다. 이것보단 localhost:8080/이 나을겁니다.


여기까지 끝났다면, 서버를 실행할 일만 남았습니다.
우측 상단의 run을 눌러봅니다.
진행상황은 하단의 Service를 눌러 확인할 수 있습니다.
서버 로그에 Connected to server가 뜨면 성공입니다.

이렇게 뜰겁니다.

만약 에러가 뜬다면, 이미 해당 localhost 주소가 사용되고 있기 때문일 수 있습니다.
해당 부분에 대한 해결법은 아래와 같습니다.
https://its-ward.tistory.com/entry/Spring-%EC%9D%B8%ED%85%94%EB%A6%AC%EC%A0%9C%EC%9D%B4-Port-8080-was-already-in-use?category=1081773


추가로, 서버 로그에서 저렇게 빨간색으로 뜨는 것은 오류가 아닙니다. 원래 저런 것 같습니다.
다만, 저렇게 예쁜 한국어로 뜨지 않고 괴상한 문자로 뜰겁니다. 인코딩 차이이며, 해결 방법은 아래와 같습니다.
https://lifere.tistory.com/entry/IntelliJ-%EC%BD%98%EC%86%94-%EB%A1%9C%EA%B7%B8-%ED%95%9C%EA%B8%80-%EA%B9%A8%EC%A7%90-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0

  • 새로고침으로 수정사항 즉시 반영
    마지막으로, IntelliJ는 html, css, js의 실시간 뷰를 지원하지 않아 매 수정마다 서버를 재시작해야하는 단점이 있습니다.
    이는 다음과 같은 방법으로 해결이 가능하며, vscode에서 하던대로 서버 재시작 없이 새로고침만으로 변경사항이 반영됩니다.
    다만, 시간이 조금 더 걸린다는 단점이 있습니다. IntelliJ 최하단에 한 줄로 진행상황이 나오며, 매 수정사항마다 2초정도 뒤 complete 안내를 해줍니다. 그때 새로고침하면 변경사항이 적용됩니다.
    배포 형식을 exploded로 했을 때 아래처럼 가능.
    https://thecardeveloper.tistory.com/22

  • mysql 연동법
    https://hihellosuah.tistory.com/91

  • out.println이 빨간색으로 표시될 때
    https://whitepaek.tistory.com/27

이상입니다.
감사합니다.

profile
코드를 예술로 볼 수 있는가?

0개의 댓글