Tomcatはどうやって起動しているのか
掲載日:2021年1月8日
INFOMARTION > Tomcatはどうやって起動しているのか
概要
Tomcatが起動する仕組みについて説明したいと思います。普段バッチファイルやシェルファイルからTomcatを起動していると思いますが、実際にバッチファイルやシェルファイルが何をしているのか見ていきたいと思います。確認するTomcatのバージョンは「9.0.27」とします。
バージョン「9.0.27」のTomcatのダウンロード方法については以下でも説明しているので、必要な人は参考にしてみてください。
目次
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~」の部分が何をしているのか分からない人は以下を参考にしてみてください。
最終的には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」となります。
最後までご覧いただきありがとうございました。