아파치 톰캣 서블릿/JSP 컨테이너

아파치 톰캣 7

Version 7.0.28-dev, Oct 2 2013
Apache Logo

Links

User Guide

참고

아파치 톰캣 개발

Building Tomcat

Table of Contents
Introduction

아파치 톰캣 소스의 빌드는 매우 쉬우며, 톰캣에 기여하는 시작점이다. 아래에 톰캣 소스를 빌드하는 방법을 소개하고 있다.

Download a Java Development Kit (JDK) 1.6 or later

톰캣 설치는 JDK 1.6 이후 버전을 요구한다.
Sun JDK는 여기 에서 다운로드 할 수 있다.

중요: JDK를 설치한 디렉토리를 시스템 패스에 JAVA_HOME 이름으로 설정한다.

Install Apache Ant 1.8.1 or later

Ant 1.8.1 이후의 바이너리 배포 버전을 여기 에서 다운로드 한다.

바이너리 배포 버전의 압축을 적당한 곳에 풀고 Ant Release의 위치를 확인한다. (일반적으로 apache-ant-1.8.x). 앞으로 이 가이드에서는 심볼릭 이름인 ${ant.home}를 Ant가 설치된 디렉토리를 가리키는데 사용하고자 한다.

중요: ${ant.home} 디렉토리를 가리키도록 ANT_HOME 환경변수를 만들고, PATH를 ${ant.home}/bin를 포함하도록 변경한다. 이렇게 함으로써 빌드에 사용되는 ant 명령어를 command line에서 실행가능하다.

Checkout or obtain the source code for Tomcat 7.0

Tomcat 7.0 SVN 저장소 URL: http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/

톰캣 소스 패키지: http://tomcat.apache.org/download-70.cgi.

SVN을 이용해서 릴리즈 버전이나 현재 개발중인 소스를 체크아웃하거나 다운로드하여 소스 패키지의 압축을 푼다. 이 가이드에서 ${tomcat.source}를 해당 소스가 위치한 디렉토리를 가리키는 심볼릭 이름으로 사용할 것이다.

Building Tomcat

아래의 명령어로 톰캣을 빌드한다.

cd ${tomcat.source}
ant

경고: 이 명령은 톰캣 빌드에 필요한 라이브러리를 기본으로 설정된 /usr/share/java 다운로드한다. Linux와 MacOX 같은 시스템에서는 일반적인 사용자는 이 디렉토리에 기록하는 것이 불가능하며, 설령 가능하더라도 하지 않는것이 좋다. Windows에서 대응되는 위치는 Cygwin을 사용하지 않을경우, C:\usr\share\java이다. 다음 내용을 읽으면 어떻게 이 다운로드 위치를 입맛대로 변경하는지 알 수 있다.

참고: 프록시를 통해 인터넷을 사용한다면 Ant의 프록시 설정을 위한 설정 파일을 이용해야 한다. 아래에 자세한 내용이 있다.

${tomcat.source}/build.properties 파일을 만들고 아래의 설정을 추가한다.

# ----- 프록시 셋업 -----
# 프록시 서버 사용시 주석 해제
#proxy.host=proxy.domain
#proxy.port=8080
#proxy.use=on

# ----- 의존성 패키지를 위한 기본 디렉토리 위치 -----
# 의존성 바이너리가 다운로드된 디렉토리로 패스를 변경
base.path=/home/me/some-place-to-download-to

빌드를 성공적으로 마치면, 사용가능한 톰캣이 ${tomcat.source}/output/build 디렉토리에 생성되고, 스크립트를 이용해 톰캣의 시작 / 중지가 가능하다.

Building with Eclipse

중요: 이 섹션은 톰캣 빌드를 위한 지원이 아니고, 보장되지 않았다. 이 섹션 이전의 Ant 빌드를 설명한 부분만이 지원된다. 그러나, 어떤 개발자들은 Java IDE를 이용해서 자바코드를 다루고 싶어하므로 다음에 설명할 단계들이 유용할 것이다. This is not a supported means of building Tomcat; this information is provided without warranty :-). The only supported means of building Tomcat is with the Ant build described above. However, some developers like to work on Java code with a Java IDE, and the following steps have been used by some developers.

참고: 모든 빌드 단계가 이클립스 아래에서 진행되지 않는다. 빌드 과정의 많은 부분에서 Ant가 필요하다. 그러나 자바 코드를 보거나 수정할 수 있고, 경고를 찾거나 코드 수정 및 리팩토링이 가능하고, IDE에서 톰캣을 실행할 수 있다. This will not let you build everything under Eclipse; the build process requires use of Ant for the many stages that aren't simple Java compilations. However, it will allow you to view and edit the Java code, get warnings, reformat code, perform refactorings, run Tomcat under the IDE, and so on.

경고: Ant 실행전에 ${tomcat.source}/build.properties 파일을 만들고 이전 섹션과 같이 설정하는 것을 잊지 말라. Do not forget to create and configure ${tomcat.source}/build.properties file as described above before running any Ant targets.

이클립스 샘플 프로젝트 파일과 런치 타겟들이 소스트리의 res/ide-support/eclipse 에 제공된다. 아래의 명령이 자동으로 이 파일들을 필요한 위치로 카피한다. Sample Eclipse project files and launch targets are provided in the res/ide-support/eclipse directory of the source tree. The instructions below will automatically copy these into the required locations.

Ant 타겟은 모든 의존성 바이너리 다운로드의 편의성을 위해 제공되고, 이클립스 프로젝트와 클래스패스 파일들을 소스 트리의 루트에 생성한다. An Ant target is provided as a convenience to download all binary dependencies, and to create the Eclipse project and classpath files in the root of the source tree.

cd ${tomcat.source}
ant ide-eclipse

이클립스를 시작하고 새로운 Workspace를 만든다.

Preferences 다이얼로그를 열고 Java->Build Path->Classpath Variables를 선택한 후 두 개의 Classpath Variables를 추가한다:

TOMCAT_LIBS_BASE build.properties에 설정된 base.path와 같은 위치이며, 이는 의존성 바이너리가 다운로드된 디레토리
ANT_HOMEAnt 1.8.1 나 이후 버전의 기본 위치

File->Import를 클릭하고 Existing Projects into Workspace를 선택한다. 톰캣 소스 트리 (${tomcat.source})의 루트 디렉토리를 찾아 톰캣 프로젝트를 임포트 한다.

start-tomcatstop-tomcat 실행 설정은 res/ide-support/eclipse에 있으며, Run->Run Configurations다이얼로그에서 사용할 수 있다. 이를 이클립스에서 톰캣을 시작/중지하는데 사용하라.
이를 변경하거나 다른 IDE에서 사용하고 싶다면 org.apache.catalina.startup.Bootstrap를 메인 클래스로 하여 start/stop를 프로그램 인자로 이용하고, -Dcatalina.home=... (빌드 디렉토리 이름과 함께)를 VM 인자로 지정한다.

이클립스의 몇몇 preference를 수정하는 것이 톰캣 코딩 컨벤션의 일관성을 유지하는데 도움을 줄 것이다. (톰캣 기여에 있어서도 필요하다)

Java -> Code Style -> Formatter -> Edit... Tab policy: Spaces only
Tab and Indentation size: 4
General -> Editors -> Text Editors Displayed tab width: 2
Insert spaces for tabs
Show whitespace characters (optional)
XML -> XML Files -> EditorIndent using spaces
Indentation size: 2
Ant -> Editor -> FormatterTab size: 2
Use tab character instead of spaces: unchecked

Building with other IDEs

대부분의 IDE에서도 같은 방식으로 동작할 것이다. 예를 들면 IntelliJ IDEA 같은 곳에서도 가능한 것이 알려져있다.


Copyright © 1999-2013, Apache Software Foundation