레이블이 Tomcat인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Tomcat인 게시물을 표시합니다. 모든 게시물 표시

2014년 4월 30일 수요일

Eclipse의 Maven plugin으로 Tomcat에 WAR 배포하기

프로젝트를 진행하면서 웹 프로젝트를 배포하는데..

너무 무식한 방법으로 배포를 하는 나를 발견했다..

Eclipse에서 로컬에 WAR로 배포한 다음에 FTP로 서버에 배포..

아니면 톰캣 매니져 사용해서 배포..

실신

이게 무슨 짓인가..싶어서 찾아봤더니 아주 좋은 방법이 있었다!

바로 Eclipse의 Maven plugin을 통해 Tomcat에 배포하는 것!

 

설정 방법은 아래와 같다.

  1. Tomcat의 유저 설정을 한다. (tomcat-user.xml)
    <role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <user username="tomcat" password="s3cret" roles="manager-gui,manager-script"/>

    배포에 사용할 유저의 role에 manager-script라는 role을 반드시 부여해야 한다.

  2. Project의 pom.xml 파일에 Maven plugin 설정을 추가한다.
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat6-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <url>http://192.168.100.232:8080/manager</url>
    <username>tomcat</username>
    <password>s3cret</password>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <url>http://192.168.100.232:8080/manager</url>
    <username>tomcat</username>
    <password>s3cret</password>
    </configuration>
    </plugin>

    매뉴얼에는 아래와 같이 나와있지만..아래 URL을 사용하니 403 에러가 떨어졌다.. 그냥 /manager를 사용하니 성공
    * Use http://localhost:8080/manager/text rather than the default tomcat6 url.

  3. 1, 2단계를 거치면 설정은 완료된 것이다.
    Eclipse의  Maven 메뉴에서 Update project를 선택해서 프로젝트를 업데이트 시킨다.
    %Project_Name% -> Maven -> Update project


  4. Maven Build를 설정한 다음 Run. (이후 부터는 Maven Build만 하면 된다.)
    %Project_Name% -> Run As.. -> Maven Build...
    Goals : tomcat6:redeploy or tomcat7:redeploy


 

이렇게 한 후 배포가 참 쉬워졌다.

역시 삽질을 해야 한걸음 나아갈 수 있구나..ㅠ

화르르

2014년 1월 4일 토요일

프로젝트 명 수정 후 톰캣에서 적용 안됨

이클립스에서 프로젝트를 생성한 후 프로젝트 명을 수정할 일이 생겼다.

수정을 한 후 프로젝트의 Properties 에서 context path도 수정을 했지만 톰캣에서는 기존의 프로젝트 명으로 디플로이 되었다.

온갖 설정을 뒤지고 뒤져도 잘못된 점을 찾지 못했다.

GUI 상에서는 찾지 못했고 아래와 같은 방법으로 수정을 할 수 있었다.

* 프로젝트\.settings\org.eclipse.wst.common.component 파일의 deploy-name 수정
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="MilkChocolate">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<property name="java-output-path" value="target/classes"/>
<property name="context-root" value="milkchocolate"/>
</wb-module>
</project-modules>