特定の war ファイルを Tomcat サーバーにデプロイする方法はありますか? Webインターフェイスを使用せずにこれを行いたいです。
6 に答える
Tomcat Web アプリケーションをデプロイするには、いくつかの方法があります。
- すでに述べたように、$CATALINA_HOME/webapps にドロップします。
- ビルド スクリプトを使用して、マネージャー インターフェース (Tomcat に付属) を介して自動的にデプロイします。ここに2つの方法があります
<property name="manager.url" value="http://localhost:8080/manager"/>
<property name="manager.username" value="manager"/>
<プロパティ名="manager.password" 値="foobar"/>
<!-- タスク定義 -->
<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"/>
<!-- ゴール -->
<target name="install" depends="compile" description="アプリケーションをサーブレットコンテナにインストール">
<デプロイ url="${manager.url}"
ユーザー名="${manager.username}"
password="${manager.password}"
path="${app.path}"
localWar="file://${build.home}"/>
</ターゲット>
<target name="list" description="サーブレット コンテナにインストールされているアプリケーションを一覧表示する">
<list url="${manager.url}"
ユーザー名="${manager.username}"
password="${manager.password}"/>
</ターゲット>
<target name="reload" depends="compile" description="サーブレットコンテナでアプリケーションをリロード">
<reload url="${manager.url}"
ユーザー名="${manager.username}"
password="${manager.password}"
path="${app.path}"/>
</ターゲット>
<target name="remove" description="サーブレット コンテナのアプリケーションを削除">
<undeploy url="${manager.url}"
ユーザー名="${manager.username}"
password="${manager.password}"
path="${app.path}"/>
</ターゲット>
これらのすべてには、Tomcat ユーザー構成が必要です。生き$CATALINA_BASE/conf/tomcat-users.xmlていますが、Web インターフェイスの使用方法は既に知っているので、ユーザーとパスワードの設定方法は知っていると思います。
war ファイルを $TOMCAT_HOME/webapps/ ディレクトリにコピーするだけです。Tomcat は war ファイルを自動的に展開して展開します。参考までに-必要に応じて、展開されたディレクトリを直接更新できます。これは開発に役立ちます。
conf/server.xml を編集して、war ディレクトリを指すこのようなエントリを追加できます
<Context path="/strutsDisplayTag"
reloadable="true"
docBase="C:\work\learn\jsp\strutsDisplayTag"
workDir="C:\work\learn\jsp\strutsDisplayTag\work" />
それ以外の場合は、.WAR ファイルを tomcat の webapps ディレクトリにコピーできます。
私たちは Web インターフェイスを使用したことがありません。好きではありません。war は、必要に応じて編集された webapps および server.xml にドロップされます。server.xml を編集する場合はバウンスする必要がありますが、war ファイルは自動的に取得されるはずです。通常、コンポーネントがどこから来たのか混乱しないように、戦争から拡張されたディレクトリを最初に削除します。
Tomcat Client Deployer Packageは、コマンドラインからリモートサーバーにデプロイする必要があるもののようです。ページから:
これは、検証、コンパイル、.WARへの圧縮、およびWebアプリケーションの本番または開発Tomcatサーバーへのデプロイに使用できるパッケージです。この機能はTomcatManagerを使用するため、ターゲットのTomcatサーバーが実行されている必要があることに注意してください。
tomcat-manager という tomcatを管理するためのこのコマンドライン スクリプトを試すこともできます。Python が必要で、Tomcat に含まれているマネージャー アプリケーションと HTTP 経由で通信します。次のような *nix シェルから実行できます。
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
と:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war