ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Windows에서 Spring Boot War파일 Tomcat에 올리기
    IT/Web 2019. 7. 17. 07:30

    <17.06.15>

    뉴비때 연습삼아 Tomcat 배포과정을 다른 블로그에 기록해놨던 배포를 기록해뒀던 글

    사실 아래 글처럼 그렇게 간단하게 올릴게 아니라, 여러가지 설정을 참고해서 많은 환경을 설정해주어야 하지만,

    Default 설정이라면 여차저차 아래방법순으로 배포하게 되니 참고

     

     

     


    # 먼저 Jar와 War의 차이점을 정리

    - Jar

    java archive jar 압축은 하나의 application 기능이 가능하도록 java파일 등을 압축하고 지원해줍니다. 앞서 알려드린 대로 path 등의 경로를 유지하기 때문에 배포된 jar 파일을 사용하는 사용자들은 각 파일들에 대한 path 문제에서 벗어날 수 있습니다. 예를 든다면 ojdbc14.jar, servlet-api.jar 등을 들 수 있습니다.

     

    - War

    web archive war는 jar와 달리 웹 어플리케이션을 지원하기 위한 압축방식입니다. 웹 어플리케이션을 지원하기 위해서 war 압축방식은 jsp, servlet, gif, html, jar 등을 압축하고 지원해주며 이는 jar와 같은 맥락으로 servlet context 접근을 위해 관련된 모든 파일들을 패키지화하여 준다는 말입니다.

     

    - Ear

    enterprise archive 하나의 웹어플리케이션 단위를 넘어 실제 서버에서 배포하기 위한 단위를 말합니다. 이를 위해서 jar와 war를 묶어서 각각의 기능을 지원하여 줍니다. jar는 어플리케이션 레벨(business layer 라고들 하네요.) war는 웹어플리케이션 레벨(web layer 라고들 하네요.) 을 지원하도록 하는 것이죠.

     

    출처 : http://hashcode.co.kr/questions/778/%EC%9E%90%EB%B0%94%EC%97%90%EC%84%9C-war%EC%99%80-jar%EC%9D%98-%EC%B0%A8%EC%9D%B4%EA%B0%80-%EB%AD%94%EA%B0%80%EC%9A%94

     

     

     

     

     


    # 준비물

    1. 완성된 웹 프로젝트 (여기선 SpringBoot 프로젝트의 War)

    2. 톰캣 (SpringBoot 버전에 맞는 톰캣)

     

     

     

     

     

     

     


    # 배포과정

     

    1. War파일 만들기

    1) 웹프로젝트 우클릭 -> Export -> WAR File 선택한다.

     

     

    2) [Web project] 에서 War로 만들 대상 프로젝트 선택 후 [Destination]의 Browse 를 클릭하고 바탕화면에 "ROOT.war"로 파일 만든다음 FInish 클릭.

     

     

     

     

     

    2. 톰캣경로에 War파일 넣기

    1) 본인의 톰캣 폴더 안의 webapps폴더를 찾는다.

    2) webapps 폴더안의 내용을 전부 삭제한다.

     

     

    3) webapps 폴더안에 아까 만들었던 ROOT.war 파일 넣는다.

     

     

     

     

     

    3. 톰캣서버 가동, War 배포

    1) 먼저 본인의 8080포트를 확인해야 한다.

    - CMD창을 관리자권한으로 실행 후, netstat -napb tcp 를 입력

    - 이후 8080포트에 무언가가 접속되어 있는지 확인.

    - 8080포트가 없다면 ㅇㅋ, 만일 무언가가 8080포트를 잡고있다면 확인 후 8080포트를 비우자.

    (본인의 이클립스나 개발툴 등에서 이미 톰캣을 실행중일 가능성이 높다.)

     

    2) 1번을 보고 8080포트가 비어있음이 되어있으면 cmd를 통해 본인의 톰캣경로로 이동

    - C:에서 D:로 이동하려면 d:라고만 치면된다.

    - 폴더를 이동하는 방법은 cd [폴더명 or 폴더경로]

    - 반드시 본인의 톰캣 폴더 안의 bin 폴더로 이동해야 한다.

    C:\Windows\System32>D:
    
    - (D:로 이동)
    
    
    
    D:\>cd tomcat8/bin
    
    - (tomcat8/bin 폴더로 이동)
    
    
    
    D:\tomcat8\bin>
    
    - (현재 위치는 bin폴더 안)

     

     

     

    3) 본인의 CMD 현재 경로가 tomcat 폴더 안의 bin 폴더로 맞춰져있다면, startup.bat을 입력한다.

       새로운 창이 나타나면서 뭔가를 주루룩 읽어들인다.

    - 새로 나타난 창에 java.net.BindException: Address already in use: bind 라는 에러를 보게된다면, 어딘가에서 8080포트를 이용중이란 이야기다.

    - 새로 나타난 창에 LifecycleException 혹은 NoClassDefFoundErro  라는 에러가 보인다면,

      http://ldk2468.blog.me/221029021718 < 이 게시글을 참고한다. 버전 문제이다.

     

    4) 별다른 에러없이 마지막 줄에

    15-Jun-2017 14:17:29.619 정보 [main] org.apache.catalina.startup.Catalina.start Server startup in 4975 ms

    라는 문구가 있으면 성공

     

     

    5) 잘 됐다면 이제 tomcat/webapps 폴더 내에 ROOT.jar 자동적으로 배포되고, ROOT라는 폴더가 생긴다.

     

     

     

     

     

    4. 프로젝트 실행

    1) 웹브라우저에 localhost:8080을 입력하고, 스프링프로젝트의 컨트롤러에서 매핑시켜줬던 URL로 접속한다.

     

     

    2) 메인 컨트롤러가 만약 위와같이 맵핑이 구성되어 있다면

       localhost:8080만 입력했을땐 아래와 같이 Hello World가 나와야 하고,

     

     

       localhost:8080/main을 입력하면 MVC에의 구조에 따라 아래와같이 NewFile.jsp가 실행된다.

    댓글

다치지 말고 운동하자.