6.

CATALINA_HOME の確認方法 (Linux / Mac)

編集
この記事の要点
  • CATALINA_HOMETomcat のインストールディレクトリを指す環境変数
  • Linux / Mac: echo $CATALINA_HOME
  • Windows: echo %CATALINA_HOME%
  • which catalina.sh / which catalina でも実行ファイルから推定可能
  • Tomcat 起動スクリプト (catalina.sh) は CATALINA_HOME 未設定でも自動推定する

 

CATALINA_HOME とは

CATALINA_HOMETomcat のインストールディレクトリを指す環境変数です。bin/, conf/, lib/, webapps/, logs/ 等のサブフォルダを含む親フォルダ。

類似の CATALINA_BASE個別インスタンスの実行ディレクトリを指します(複数の Tomcat インスタンスを 1 つのバイナリで動かす場合に区別)。通常は CATALINA_HOME == CATALINA_BASE

Linux / Mac での確認

① 環境変数として確認

$ echo $CATALINA_HOME
/opt/tomcat

# 未設定の場合は空行
# または bashrc / zshrc に書いてあるかチェック
$ grep CATALINA_HOME ~/.bashrc ~/.zshrc ~/.profile

② which コマンドで実行ファイルから推定

$ which catalina.sh
/opt/tomcat/bin/catalina.sh
# → CATALINA_HOME は /opt/tomcat

$ which startup.sh
/opt/tomcat/bin/startup.sh

③ 起動中の Tomcat プロセスから確認

$ ps aux | grep tomcat
tomcat   1234  ... -Dcatalina.home=/opt/tomcat -Dcatalina.base=/opt/tomcat ...

# プロセス起動時の引数 -Dcatalina.home を見る

④ Tomcat の version コマンドで確認

$ $CATALINA_HOME/bin/version.sh
Server version: Apache Tomcat/9.0.71
Server built:   Jan 31 2023 15:24:13 UTC
Server number:  9.0.71.0
OS Name:        Linux
OS Version:     5.15.0-25-generic
Architecture:   amd64
JVM Version:    11.0.16+8-Ubuntu
JVM Vendor:     Ubuntu

# version.sh が動けば CATALINA_HOME は正しい

Windows での確認

コマンドプロンプト

> echo %CATALINA_HOME%
C:\apache-tomcat-9.0.71

> where catalina.bat
C:\apache-tomcat-9.0.71\bin\catalina.bat

PowerShell

PS> $env:CATALINA_HOME
C:\apache-tomcat-9.0.71

PS> [System.Environment]::GetEnvironmentVariable("CATALINA_HOME","Machine")
PS> [System.Environment]::GetEnvironmentVariable("CATALINA_HOME","User")
# ユーザー / システムレベルで個別確認

システムのプロパティから GUI で確認

  1. 「PC」を右クリック → プロパティ
  2. システムの詳細設定環境変数
  3. システム環境変数 or ユーザー環境変数のリストから CATALINA_HOME を探す

CATALINA_HOME の設定方法

Linux (~/.bashrc または /etc/profile)

# .bashrc に追加
export CATALINA_HOME=/opt/tomcat
export PATH=$CATALINA_HOME/bin:$PATH

# 再読み込み
$ source ~/.bashrc

# 確認
$ echo $CATALINA_HOME

Mac (~/.zshrc または ~/.bash_profile)

# Homebrew でインストールした場合
export CATALINA_HOME=/usr/local/opt/tomcat/libexec

# 手動インストールの場合
export CATALINA_HOME=/usr/local/apache-tomcat-9.0.71

Windows(システム環境変数)

  1. システムのプロパティ → 環境変数
  2. システム変数の新規を押す
  3. 変数名: CATALINA_HOME
  4. 変数値: C:\apache-tomcat-9.0.71
  5. OK
  6. PATH 変数に %CATALINA_HOME%\bin を追加

CATALINA_HOME vs CATALINA_BASE

変数役割含むフォルダ
CATALINA_HOMETomcat バイナリの場所bin/ lib/
CATALINA_BASEインスタンス固有の設定の場所conf/ logs/ webapps/ work/ temp/

通常は両方同じパスでよいですが、同じ Tomcat バイナリで複数インスタンスを動かす場合に分けます:

# 共通バイナリ
export CATALINA_HOME=/opt/tomcat

# インスタンス 1
CATALINA_BASE=/opt/tomcat-instance1 $CATALINA_HOME/bin/startup.sh

# インスタンス 2 (別のポート設定で)
CATALINA_BASE=/opt/tomcat-instance2 $CATALINA_HOME/bin/startup.sh

CATALINA_HOME 未設定でも動く?

Tomcat の起動スクリプト (catalina.sh / catalina.bat) は、環境変数が未設定でもスクリプト自身の位置から自動推定します。なので絶対パス指定で起動すれば動きます:

# CATALINA_HOME 未設定でも OK
$ /opt/tomcat/bin/startup.sh

ただし、外部ツール(Eclipse, IntelliJ, IDE, デプロイスクリプト等)から参照される場合は明示的に設定しておくのが安全です。

関連記事

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. tomcatインストール(CentOS)
  2. WARファイルのAutoDeploy設定
  3. tomcatの起動/停止(Linux, Mac)
  4. JRE(JVM)のJavaのバージョン確認方法
  5. エラー一覧
  6. CATALINA_HOMEの確認方法(Linux, Mac)
  7. 管理画面の開き方
  8. tomcatの起動確認方法
  9. tomcatの起動/停止ログとcatalina.log/catalina.outの違い
  10. CentOSにおけるポート開放方法
  11. Javaのバージョン変更方法(Mac編)