본문으로 바로가기








STS에서 개발한 프로젝트를 배포해보자. 배포가 되어야 브라우저를 통해서 개발한 프로젝트로 접근을 할 수 있다. 여기에서는 STS에서 메이븐(Maven)을 이용하여 톰캣에 배포를 할 것이다.




1. 톰캣 관리자 화면 활성화하기





톰캣이 설치된 폴더로 이동하여 conf 폴더를 찾는다. conf 폴더를 보면 tomcat-users.xml이 있다. 이 파일을 연다.



  • 톰캣 기본경로 : C:\Program Files\Apache Software Foundation\Tomcat 8.0\conf





tomcat-users.xml에 위 내용을 추가한다. 여기서 username 와 password 톰캣 관리자 계정과 비밀번호를 설정하는 부분이다.


    <role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="admin" password="admin" roles="manager-gui,manager-script,manager-status,manager-jmx"/>






설정을 끝냈으면 톰캣 관리자 화면이 나오는지 테스트할 것이다. 윈도우 작업표시줄을 보면 △ 표시가 있다. 이것을 클릭하면 톰캣 아이콘이 있다.  톰캣 아이콘에서 마우스 우클릭을 하여 Start Service를 클릭한다. 그러면 톰캣 서비스가 실행된다.





톰캣 서비스 실행 후 브라우저에서 http://localhost:8080을 입력해보자. 위와 같은 화면이 나타나면 정상적으로 설정이 된 것이다. 


(로컬이 아닐경우 http://아이피주소:톰캣포트 입력)




2. 메이븐을 이용해 톰캣에 배포하기



관리자 화면을 설정했으면 메이븐을 이용해 본격적으로 배포를 해보자. 배포하기 전에 톰캣 서비스를 실행해 둔다.





STS에서 배포할 프로젝트에 있는 pom.xml 파일을 연다. pom.xml 에 <plugins></plugins> 사이에 아래 내용을 입력한다.



<!-- 메이븐을 통한 서버 배포 -->    
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.4</version>
        <configuration>
            <warsourcedirectory>src/main/webapp</warsourcedirectory>
            <webxml>src/main/webapp/WEB-INF/web.xml</webxml>
        </configuration>
    </plugin>
 
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat-maven-plugin</artifactId>
        <version>1.1</version>
        <configuration>
            <url>http://서버 IP주소:톰캣 포트번호/manager/text</url>
            <path>/</path>
            <username>관리자 계정</username>
            <password>비밀번호</password>
        </configuration>
    </plugin>
 
   <!-- 로컬에 있는 톰캣에 배포할 경우 서버 IP주소 대신 localhost 입력 -->
   <!-- 톰캣의 기본 포트번호는 8080 이다. -->
   <url>http://localhost:8080/manager/text</url>




위에서 <path></path> 사이에 / 로 되어있는데, 이렇게 할 경우 접속하는 URL은 http://localhost:8080 이다. 이것은 배포 경로를 루트로 지정한 것인데, 이렇게 하고 배포를 하면 ROOT.war 형태로 프로젝트가 배포된다.



배포 후 webapps 폴더를 보면 배포된 프로젝트를 확인할 수 있다.



톰캣의 webapps 폴더를 보면 ROOT.war로 배포된 것을 확인할 수 있다. webapps 폴더에 ROOT 폴더가 있는데 이것은 톰캣이 실행되면 webapps 폴더 안에 있는 war 파일을 자동으로 압축을 풀게 된다. 그래서 ROOT 폴더가 생성되어 있는것이다.





<path></path> 사이에 /프로젝트명 으로 입력을 해서 배포를 하면 해당 프로젝트명으로 war 파일이 생성된 것을 확인할 수 있다.





/SpringBoard로 배포할 경우 SpringBoard.war 파일이 생성되어 있다.  이렇게 되면 브라우저에서 접근할 때 http://localhost:8080/SpringBoard 으로 접근해야 한다.





pom.xml 파일에 설정을 했으면, 배포할 프로젝트를 선택하고 마우스 우클릭을 한다. 다음으로 [Run As] - [Run Configurations] 를 클릭한다.





Run Configurations 창에서 왼쪽에 Maven Build를 클릭한다. 그리고 마우스 우클릭을 하여 New를 선택한다.





먼저 Workspace 버튼을 누른다.





여기서 배포할 프로젝트를 선택한다.





다음으로 Name에 빌드명을 입력하고 Goalstomcat:deploy를 입력한다. 입력 후 Run을 누르면 배포가 시작된다.





최초로 배포한 후 다음부터 배포할 경우 Goals에 tomcat:undeploy tomcat:deploy 로 입력해야 한다. tomcat:undeploy를 추가한 것은 배포할 때 기존에 배포된 것을 삭제하고 배포하기 위해서이다. 같은 배포 파일이 있으면 오류가 나기 때문에 Goals 부분을 변경해야 한다.





배포가 되면 콘솔 창에 메시지가 나오는 것을 확인할 수 있다. 정상적으로 배포가 되었다면 BUILD SUCCESS가 나올 것이다.



■ 배포 시 인코딩 오류가 발생할 경우





위에서 pom.xml에 <path>/</path> 로 입력했기 때문에 http://localhost:8080으로 접속하면 배포된 프로젝트 화면이 나타난다.






RSS구독 링크추가 트위터 이메일 구독