Tomcatはどうやって起動しているのか


掲載日:2021年1月8日



INFOMARTION > Tomcatはどうやって起動しているのか

概要

Tomcatが起動する仕組みについて説明したいと思います。普段バッチファイルやシェルファイルからTomcatを起動していると思いますが、実際にバッチファイルやシェルファイルが何をしているのか見ていきたいと思います。確認するTomcatのバージョンは「9.0.27」とします。

バージョン「9.0.27」のTomcatのダウンロード方法については以下でも説明しているので、必要な人は参考にしてみてください。

Tomcatのダウンロード

目次

  1. Tomcatが起動する仕組み
  2. まとめ

1. Tomcatが起動する仕組み

結論から言うとTomcatは以下のJavaコマンドにより起動しています。(前提として、Tomcatのバージョン「9.0.27」Javaが「OpenJDK11」とします。)

"C:\Program Files (x86)\Java\jdk-11\bin\java.exe" -Djava.util.logging.config.file="C:\apache-tomcat-9.0.27\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs="" -classpath "C:\apache-tomcat-9.0.27\bin\bootstrap.jar;C:\apache-tomcat-9.0.27\bin\tomcat-juli.jar" -Dcatalina.base="C:\apache-tomcat-9.0.27" -Dcatalina.home="C:\apache-tomcat-9.0.27" -Djava.io.tmpdir="C:\apache-tomcat-9.0.27\temp" org.apache.catalina.startup.Bootstrap start

要は最終的に上記の1行のJavaコマンドを実行して、メインクラス(public static void main(String[] args))を呼び出すことによりTomcatを起動しています。

※「-D~」の部分が何をしているのか分からない人は以下を参考にしてみてください。

Java起動時に指定するDオプション(-D)とは何か

最終的には1行のコマンドが実行されているがstartup.batでは何をしているのか確認したいと思います。

1-1. startup.batの中身

startup.batは簡単にTomcatを起動するための環境設定のチェックを行った後に、catalina.batを引数startで実行しています。実際にメインとして処理が記載されているのはcatalina.batとなります。

では、catalina.batで何をしているかと言うと、先ほど記載した最終的に実行するコマンドの組み立てです。具体的には以下を探してコマンドを組み立てています。

  • 起動するJavaのディレクトリ
  • Javaのクラスパス、メインクラス
  • Javaのオプション など

上記を探した結果、最終的に1行のJavaコマンドを実行しています。

2. まとめ

Tomcatはstartup.batなどのバッチファイルから起動しますが、最終的にはTomcatは1行のJavaコマンドにより起動されています。このコマンドによりメインクラス(public static void main(String[] args))が呼ばれ、処理が開始します。

ちなみにTomcatのメインクラスがあるのは「org.apache.catalina.startup.Bootstrap」となります。

最後までご覧いただきありがとうございました。



■INFORMATION

INFORMATIONのトップページはこちらよりお願いいたします。


■PROFILE

プロフィールはこちらよりお願いいたします。


■お問い合わせ先

記事に関するお問い合わせはこちらよりお願いいたします。