Tomcatの構築

目次

はじめに

Apache Tomcatをソースから構築するのは非常に簡単で、Tomcatへの貢献の最初のステップとなります。完全で包括的な手順は、ファイルBUILDING.txtに記載されています。以下は、簡単なステップバイステップガイドです。

Java Development Kit (JDK) のダウンロード

Apache Tomcatを構築するには、JDK (バージョン22) 以降がインストールされている必要があります。https://adoptium.net/temurin/releasesまたは他のJDKベンダーからダウンロードできます。

重要: 環境変数JAVA_HOMEを、JDKリリースをインストールしたディレクトリのパス名に設定してください。

Apache Antのインストール

Ant 1.10.2以降のバイナリディストリビューションをこちらからダウンロードしてください。

バイナリディストリビューションを都合の良い場所に解凍し、Antリリースがそれ自身のディレクトリ (慣例としてapache-ant-[version]という名前) に配置されるようにします。このガイドの残りの部分では、シンボル名${ant.home}がAntインストールディレクトリの完全なパス名を参照するために使用されます。

重要: ${ant.home}ディレクトリを指すANT_HOME環境変数を作成し、PATH環境変数に${ant.home}/binディレクトリを追加してリストに含めてください。これにより、ビルドを実行するために使用されるantコマンドラインスクリプトが利用可能になります。

Tomcatソースコードの入手

Tomcat GitリポジトリURL: https://github.com/apache/tomcat

Tomcatソースパッケージ: https://tomcat.dokyumento.jp/download-11.cgi

Gitを使用してソースリポジトリをクローンし、リリースされたバージョンのタグまたは現在の開発コードのmainを選択するか、ソースパッケージをダウンロードして解凍します。このガイドの残りの部分では、シンボル名${tomcat.source}がソースが配置された場所を参照するために使用されます。

ダウンロードエリアの設定

Tomcatの構築には、それに依存する多数のライブラリをダウンロードする必要があります。これらのライブラリのダウンロードエリアを設定することを強くお勧めします。

デフォルトでは、ビルドは依存関係を${user.home}/tomcat-build-libsディレクトリにダウンロードするように設定されています。これは変更可能ですが(下記参照)、絶対パスである必要があります。

ビルドは、${tomcat.source}/build.propertiesファイルを作成することによって制御されます。このファイルは、build.properties.defaultおよびbuild.xmlファイルに存在するプロパティを再定義するために使用できます。build.propertiesファイルはデフォルトでは存在しません。作成する必要があります。

ダウンロードエリアはプロパティbase.pathで定義されます。例えば

# ----- Default Base Path for Dependent Packages -----
# Replace this path with the directory path where
# dependencies binaries should be downloaded.
base.path=/home/me/some-place-to-download-to

異なるバージョンのTomcatが同じダウンロードエリアを共有できます。

別の例

base.path=${user.dir}/../libraries-tomcat11.0

プロキシ経由でインターネットにアクセスするユーザーは、Antにプロキシ設定を指示するためにプロパティファイルを使用する必要があります

# ----- Proxy setup -----
proxy.host=proxy.domain
proxy.port=8080
proxy.use=on

Tomcatの構築

Tomcatを構築するには、以下のコマンドを使用してください

cd ${tomcat.source}
ant

ビルドが正常に完了すると、使用可能なTomcatインストールが${tomcat.source}/output/buildディレクトリに生成され、通常のスクリプトで起動および停止できます。

Eclipseでの構築

重要: これはTomcatを構築するサポートされた方法ではありません。この情報は保証なしで提供されます :-)。Tomcatを構築する唯一のサポートされた方法は、上記で説明したAntビルドを使用することです。ただし、一部の開発者はJava IDEでJavaコードを操作することを好むため、以下の手順が一部の開発者によって使用されています。

注: これにより、Eclipseですべてをビルドできるわけではありません。ビルドプロセスでは、単純なJavaコンパイルではない多くの段階でAntを使用する必要があります。ただし、これによりJavaコードの表示と編集、警告の取得、コードの再フォーマット、リファクタリングの実行、IDEでのTomcatの実行などが可能になります。

警告: Antターゲットを実行する前に、上記で説明したように${tomcat.source}/build.propertiesファイルを作成し、設定することを忘れないでください。

サンプルのEclipseプロジェクトファイルと起動ターゲットは、ソースツリーのres/ide-support/eclipseディレクトリに提供されています。以下の指示により、これらは必要な場所に自動的にコピーされます。

すべてのバイナリ依存関係をダウンロードし、Eclipseプロジェクトとクラスパスファイルをソースツリーのルートに作成するためのAntターゲットが便宜上提供されています。

cd ${tomcat.source}
ant ide-eclipse

Eclipseを起動し、新しいワークスペースを作成します。

ファイル -> インポートを使用し、既存のプロジェクトをワークスペースへを選択します。そこからTomcatソースツリーのルートディレクトリ (${tomcat.source}) を選択し、そこにあるTomcatプロジェクトをインポートします。

start-tomcatおよびstop-tomcat起動設定はres/ide-support/eclipseに提供されており、実行 -> 実行構成ダイアログで利用可能です。これらを使用してEclipseからTomcatを起動および停止します。これらを自分で設定したい場合(または異なるIDEを使用している場合)は、メインクラスとしてorg.apache.catalina.startup.Bootstrapを使用し、プログラム引数としてstart/stopなどを指定し、VM引数として-Dcatalina.home=...(ビルドディレクトリの名前を指定)を指定してください。

いくつかの書式設定の環境設定を微調整することで、Tomcatのコーディング規約との一貫性を保ちやすくなり(そして貢献が受け入れられやすくなります)

Java -> コードスタイル -> フォーマッタ -> 編集... タブポリシー: スペースのみ
タブとインデントサイズ: 4
一般 -> エディター -> テキストエディター 表示されるタブ幅: 2
タブをスペースに置き換える
空白文字を表示(任意)
XML -> XMLファイル -> エディタースペースを使用してインデント
インデントサイズ: 2
Ant -> エディター -> フォーマッタタブサイズ: 2
スペースの代わりにタブ文字を使用: チェックを外す

コンパイラ警告の推奨設定は、res/ide-support/eclipse/java-compiler-errors-warnings.txtファイルに記載されています。

その他のIDEでの構築

同じ一般的なアプローチはほとんどのIDEで機能するはずです。例えば、IntelliJ IDEAで動作することが報告されています。