둘셋 개발!

[Intelij] Artifacts 설정 구성 본문

카테고리 없음

[Intelij] Artifacts 설정 구성

23 2024. 3. 12. 19:35

Intro.

스프링부트가 아닌 스프링으로 프로젝트를 하고 있다.

tomcat을 다운받아서 실행시키고 배포환경설정은  블로그를 참고했다.

따라서 하긴 했지만, 배포 시 문제가 생겼을 때 대응하지 못할 것 같아 그 설정들을 자세히 알아보기로 했다.


Artifacts

tomcat 실행 시 배포 환경 설정

 tomcat을 실행시킬 때 배포 환경 설정은 Deployment에서 한다.

Deployment으로 들어가면 artifact를 선택할 수 있다. 

 

위 그림에서 연필모양을 클릭하면 선택한 artifact를 수정할 수 있다.

artifacts

 

보면 알겠지만 project settings로 들어가도 나온다.

(시험삼아 많이 만들어놓았다 ㅎ)

Artifact 추가

 

'+ 버튼'을 누르면 Arifact를 추가할 수 있다.

나는 war로 배포를 할 것이기 때문에 Web ApplicationExploded을 선택했고 for modules로 만들었다.

참고로 war의 약자는 Web ARchive (웹 아카이브)이다.

Web application: Exploded로 선택한 artifact 초기 설정 모습

 

1. Output directory

배포 시 배포파일(output)을 넣을 경로를 지정할 수 있다.

나의 경우 maven으로도 빌드를 했기 때문에 빌드를 하면 out폴더와 target폴더가 새로 생성되는 것을 확인할 수 있다.

(out폴더와 target폴더가 이미 있다면, 삭제를 해보고 빌드를 하면 다시 생긴다)

 

- out폴더와 target폴더의 차이점 (더보기)

더보기

Out폴더와 Target폴더의 차이점

 

* out 폴더: 인텔리제이과 같이 IDE 자체에서 컴파일한 파일이 있는 곳

* target 폴더: Gradle이나 Maven같은 외부 빌드 도구를 사용하는 경우 빌드 도구에서 생성된 출력물(컴파일된 파일 등)을 보관함

나는 maven으로 빌드한 것들을 배포하기 위해 target 폴더 경로를 선택했다.

 

 

2. Output Layout

빌드한 파일들의 구조를 어떻게 할 것인가에 대한 설정이다.

output directory의 경로 밑에 설정한대로 파일이 자리잡는다.

사진대로 예시를 들자면 /Users/janguni/project/touching/target/touching 밑에 WEB-INF 디렉토리와 war 파일이 생겼다.

'Web facet resources'가 war 파일로 되어 있다.

facet의 단어를 찾아보니 '모듈과 관련된 특정 프레임워크/기술에 특정한 구성'이라고 한다.

즉, web 리소스와 관련된 특정 프레임워크와 기술의 구성인 'war'이 생성된 것 같다.

 

 


https://www.jetbrains.com/help/idea/configure-web-app-deployment.html

 

Configure Web application deployment | IntelliJ IDEA

 

www.jetbrains.com

https://plugins.jetbrains.com/docs/intellij/facet.html#working-with-facets

 

Facet | IntelliJ Platform Plugin SDK

 

plugins.jetbrains.com