Notice
Recent Posts
Recent Comments
Link
코알못
Tomcat, Intellij, Gradle 관련 기본 내용 정리 본문
728x90
Maven, Tomcat, IntelliJ 설정 및 활용법
1. Maven package와 install의 차이
공통점
- 두 명령어 모두 소스 코드를 컴파일하고 JAR 파일을 생성한다.
차이점
- mvn package : 프로젝트를 빌드하고, 타겟 디렉토리에 .jar 또는 .war 파일을 생성한다.
- mvn install : package 단계까지 수행한 후, 생성된 JAR/WAR 파일을 로컬 저장소(~/.m2/repository)에 저장한다.
2. Maven과 Gradle의 로컬 저장소 경로
- Maven: ~/.m2/repository
- Gradle: ~/.gradle/caches
Maven과 Gradle은 의존성을 다운로드할 때, 먼저 로컬 저장소에서 찾고, 없을 경우 원격 저장소에서 가져온다.
3. Tomcat을 여러 개 띄우는 방법
1) Tomcat 복사 후 설정 변경
- {TOMCAT_HOME}/conf/server.xml 수정
- Shutdown 포트 변경
<Server port="8007" shutdown="SHUTDOWN">
- 서버 포트 변경
<Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" />
- Shutdown 포트 변경
2) WAR 파일 배포 및 컨텍스트 설정
- webapps 디렉토리에 [컨텍스트명].war 파일을 배포
- 예제 URL:
- localhost:8082/[컨텍스트명]/[서블릿URL]
- 기본 URL로 설정하려면 ROOT.war로 배포
4. IntelliJ에서 Tomcat Deployment 방식 비교
1) test:war
- WAR 파일을 메모리에 바로 올려 실행
- 클래스나 리소스를 변경해도 서버 재기동 전까지 반영되지 않음
2) test:war exploded
- WAR 압축을 푼 디렉토리를 직접 바라봄
- 수정 즉시 반영됨 (서버 재기동 불필요)
- File > Project Settings > Artifacts > test:war exploded 설정 필요
5. Tomcat에서 catalina.sh start로 서버 기동 시 변경 사항 반영 여부
- JSP 파일 변경: Tomcat이 자동으로 재컴파일하여 반영됨
- 클래스 파일 변경: 변경사항이 반영되지 않음 (WAR 파일을 다시 배포해야 반영됨)
6. catalina.sh vs start.sh
- catalina.sh : start, stop, status 등의 명령어로 Tomcat을 제어 가능
- start.sh : 내부적으로 catalina.sh start 실행하는 스크립트
7. IntelliJ Tomcat 설정에서 On update action과 On frame deactivation 차이
- On update action: 서버 기동 상태에서 파일 수정 시 처리 방법
- On frame deactivation: 파일 수정 후 브라우저 창으로 이동했을 때 처리 방법
8. IntelliJ Tomcat 설정에서 각 옵션별 속성
test:war
- Hot swap classes: 클래스 변경 사항만 반영 (JSP 반영 안 됨)
test:war exploded
- Update classes and resources: 클래스 & 리소스(JSP) 변경 즉시 반영
- Update resource: 리소스(JSP) 변경 즉시 반영
9. IntelliJ에서 Tomcat 설정하는 방법
1) 설정 경로
- Edit Configurations > + 버튼 > Tomcat 추가
2) Server 탭 설정
- 설치한 Tomcat 선택
- After launch 체크 시 자동 브라우저 실행
- JVM 옵션 설정 가능
-Dtest=123
- HTTP 및 JMX 포트 설정 가능
3) Deployment 탭 설정
- + 버튼 클릭 후 test.war:exploded 또는 test.war 선택
- 기본 경로를 /로 설정하려면 Application context를 /로 변경
- test:war exploded 방식 추천 (수정 사항 즉시 반영 가능)
10. IntelliJ Tomcat 기동 시 설정 경로
- Tomcat Home: 설치된 Tomcat의 경로 유지
- Tomcat Base: 프로젝트마다 설정 파일만 따로 저장하는 로컬 디렉토리 사용
728x90
'ETC' 카테고리의 다른 글
[pyspark] UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY (0) | 2023.09.14 |
---|---|
[kubernetes] Ingress - IngressController 설치 (0) | 2023.09.10 |
[CKA] kubernetes Headless Service(core-dns 기능이용), kube Proxy (0) | 2023.09.10 |
[CKA] kubernetes Service (0) | 2023.09.10 |
[CKA] kubernetes Controller - JobController (0) | 2023.09.10 |
Comments