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起動時に自動でデプロイしてくれます。
コメント