[Tomcat] デプロイしたWARファイルを自動で展開する設定

Tomcat上でWARファイルをデプロイすると、設定によって、WARファイルのままで実行したり、WARファイルを自動展開してくれたりします。

どちらも動作上の違いは特にないように感じますが、開発中は、展開してもらったほうがデバッグもしやすかったり、テストしやすかったりしますね。

開発機にWARファイルをデプロイすると自動展開してくれていたのに、普通のPCにLinuxを入れてTomcatをインストールしてテスト環境を作成したら、デプロイしたWARファイルを展開せずに実行し、Tomcatを再起動すると一度WARファイルを手動で消さないと動かない、なんて状況に陥りました。

WARファイル自動展開設定

デプロイしたWARファイルを展開するかどうか、そもそもTomcat起動・再起動時に自動でデプロイするかどうか、などを設定できる項目が $TOMCAT_HOME/conf/server.xml にありました。

WARファイルの自動展開設定は、Hostタグを書き換えてあげればOKです。具体的には、以下のような感じで設定があります。

<Host name="localhost" debug="0" appBase="webapps"
  unpackWARs="false" autoDeploy="true"
  xmlValidation="false" xmlNamespaceAware="false">

ここの、unpackWARsの値をtrueにしてあげると、デプロイしたときにWARファイルを展開してくれるようになります。

また、自動デプロイするには、上記のようにautoDeployの値をtrueにしてあげればOK。Tomcat起動時に自動でデプロイしてくれます。

コメント

タイトルとURLをコピーしました