[IntelliJ]IntelliJ에서 WAR파일 추출(EXPORT) 하기

술한잔에이야기담아 2016.08.11 18:25

열심히 작업한 웹어플리케이션을 웹서버에 Deploy하기 위해선 WAR파일이 필요합니다.

필자가 사용하고 있는 IntelliJ에서 WAR파일을 Export하는 방법을 소개하고자 합니다.




STEP 1.


상단 메뉴의 File-Project Struct - Artifacts로 이동합니다.\


*프로젝트명은 지웠습니다









STEP 2.


가운데 탭의 상단에 있는 +버튼을 클릭 -> Web Application:Archive 를 선택합니다. 필자는 프로젝트 안에 두개의 프로젝트가 존재하여 아래 그림과 같이 나타납니다.


*프로젝트명은 지웠습니다





선택 후 하단의 OK버튼 클릭.




STEP 3.


상단 메뉴바의 Build -> Build Artifats... 로 들어갑니다.







STEP1,2를 통해 만든 Artifacts에 마우스를 올린 후, Build를 선택합니다.




STEP 4.



war파일이 생성된 경로는 아래와 같습니다.


(자신의 프로젝트 경로)\classes\artifacts




출처: http://storyinglass.tistory.com/6 [술한잔에이야기담아]



Tomcat Deployment

Tomcat을 이용하여 배포할 때 webapps/ 폴더 아래에 myapp.war 파일을 위치시키고 tomcat을 실행시키면 webapps/myapp 이름으로 폴더가 생성된다. 이 때 이 프로젝트는 http://localhost:8080/myapp/index.jsp 와 같이 url이 지정된다. url에서 myapp을 제거하고 /으로 시작하도록 하고 싶다면 webapps/myapp/ 하위에 존재하는 파일들을 webapps/ROOT/ 하위로 모두 옮기면 http://localhost:8080/index.jsp 처럼 사용할 수 있다.


Exploded war

IntelliJ web application project 생성은 여기를 참고하면 된다.
web application을 생성하고 run server을 하면 out이라는 폴더가 생성된다.

After run server

out/artifacts/myapp_war_exploded 폴더가 존재하는데 war파일이 풀어진 형태이다. 이 폴더를 그대로 톰켓의 webapps/ 에 복사해도 배포가 가능하지만 war파일로 만들어서 관리하는 방법도 있다.


Export war file

프로젝트명을 클릭하고 Command ⌘ +  키를 눌러서 Project Structure 창을 열고 좌측의 Artifacts를 누른다.

open artifacts

중간에 myapp:war exploded 라고 보이는 위 쪽에 + 버튼을 누르면 추가를 할 수 있는데 Web Application: Archive의 For 'myapp:war exploded'를 선택하면 된다. 기본으로 설정된 myapp의 war exploded에 대한 war파일을 생성하도록 build를 추가하는 것이다.

archive


중간 지점을 보면 myapp_war.war으로 이름이 설정되어 있다. 우클릭하여 myapp.war으로 이름을 바꿔준다. (위에서도 말했듯이 .war 앞의 이름으로 배포 폴더가 생성되고 url이 정해진다.)

Rename war file

우측 하단의 Apply 버튼을 클릭한다.


설정이 완료됐으면 상단의 Build의 Build Artifacts..를 클릭한다.

Build

아래와 같은 창이 뜨면 myapp:war -> Build를 클릭하여 war을 생성하는 build을 실행할 수 있다.

Build artifact


out/artifacts/myapp_war 라는 폴더가 생성되고 myapp.war 파일도 생성 되었다.

war file created



https://cjh5414.github.io/IntelliJ-tomcat-deployment-export-war-file/

'IT' 카테고리의 다른 글

설정 관련 인텔리제이 intellij  (0) 2018.02.22
스프링 spring annotation 어노테이션  (0) 2018.02.12
날짜 관련  (0) 2018.02.02
IntelliJ 단축키 for Eclipse User  (0) 2018.02.02
GITLAB 권한 관련  (0) 2018.02.02
Posted by roselumi
,