Tomcatのビルド
目次
はじめに
Apache Tomcatのソースからのビルドは非常に簡単で、Tomcatに貢献するための最初のステップです。完全で包括的な手順は、BUILDING.txtファイルに記載されています。以下は、簡単なステップバイステップガイドです。
Java Development Kit (JDK) をダウンロードする
Apache Tomcatのビルドには、JDK (バージョン17) 以降がインストールされている必要があります。https://adoptium.net/temurin/releasesまたは他のJDKベンダーからダウンロードできます。
重要:環境変数JAVA_HOMEを、JDKリリースをインストールしたディレクトリのパス名に設定してください。
Apache Antをインストールする
こちらから、Ant 1.10.2以降のバイナリディストリビューションをダウンロードしてください。
Antリリースが独自のディレクトリ(通常はapache-ant-[バージョン]
という名前)に配置されるように、バイナリディストリビューションを適切な場所に解凍します。このガイドの残りの部分では、記号名${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-10.cgi。
リリースバージョンのタグ、または現在の開発コードのmainを選択して、Gitを使用してソースリポジトリをクローンするか、ソースパッケージをダウンロードして解凍します。このガイドの残りの部分では、記号名${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-tomcat10.1
プロキシ経由でインターネットにアクセスするユーザーは、プロパティファイルを使用して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で機能することが報告されています。