Tomcatでのwarファイルの展開
-
02-07-2019 - |
質問
Tomcatサーバーに特定のwarファイルをデプロイする方法はありますか?ウェブインターフェースを使用せずにこれを行いたい。
解決
warファイルを$ TOMCAT_HOME / webapps /ディレクトリにコピーするだけです。 Tomcatは、warファイルを自動的に展開して展開します。参考-必要に応じて、展開されたディレクトリを直接更新できます。これは開発に役立ちます。
他のヒント
Tomcat webappをデプロイするにはいくつかの方法があります:
- 既に述べたように、$ CATALINA_HOME / webappsにドロップします。
- ビルドスクリプトを使用して、マネージャーインターフェイス(Tomcatに付属)を介して自動的にデプロイします。ここに2つの方法があります
- Maven の場合:Tomcatプラグインを使用します。
pom.xml
に含める必要はありません。目標mvn tomcat:deploy
を発行するだけで、プラグインはMaven 2に含まれます。これは、 ドキュメントでは、pom.xml
の動作を構成します。展開されたアーカイブ etc として展開できるようにする他の目標があります。 - Ant の場合:このようなもの:
- Maven の場合:Tomcatプラグインを使用します。
<property name="manager.url" value="http://localhost:8080/manager"/> <property name="manager.username" value="manager"/> <property name="manager.password" value="foobar"/> <!-- Task definitions --> <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"/> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/> <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/> <!-- goals --> <target name="install" depends="compile" description="Install application to servlet container"> <deploy url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}" localWar="file://${build.home}"/> </target> <target name="list" description="List installed applications on servlet container"> <list url="${manager.url}" username="${manager.username}" password="${manager.password}"/> </target> <target name="reload" depends="compile" description="Reload application on servlet container"> <reload url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}"/> </target> <target name="remove" description="Remove application on servlet container"> <undeploy url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}"/> </target>
これらすべてでは、Tomcatユーザー設定が必要になります。 $ CATALINA_BASE / conf / tomcat-users.xml
にありますが、Webインターフェースの使用方法をすでに知っているので、ユーザーとパスワードの設定方法を知っていると思います。
ウェブインターフェースは決して使用しません。好きではありません。 warは必要に応じて編集されたwebappsおよびserver.xmlにドロップされます。 server.xmlを編集する場合はバウンスする必要がありますが、warファイルは自動的に取得される必要があります。通常、最初にwarから展開されたディレクトリを削除するため、コンポーネントがどこから来たのか混乱が生じません。
conf / server.xmlを編集し、warディレクトリを指すこのようなエントリを追加できます
<Context path="/strutsDisplayTag"
reloadable="true"
docBase="C:\work\learn\jsp\strutsDisplayTag"
workDir="C:\work\learn\jsp\strutsDisplayTag\work" />
ELSE .WARファイルをtomcatのwebappsディレクトリにコピーできます。
Tomcat Client Deployer Package は、コマンドラインからリモートサーバーにデプロイする必要があるもののようです。ページから:
これは、検証、コンパイル、.WARへの圧縮、Webアプリケーションの実稼働または開発Tomcatサーバーへのデプロイに使用できるパッケージです。この機能はTomcatマネージャーを使用するため、ターゲットTomcatサーバーが実行されている必要があることに注意してください。
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
and:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war