18

特定の war ファイルを Tomcat サーバーにデプロイする方法はありますか? Webインターフェイスを使用せずにこれを行いたいです。

4

6 に答える 6

23

Tomcat Web アプリケーションをデプロイするには、いくつかの方法があります。

  • すでに述べたように、$CATALINA_HOME/webapps にドロップします。
  • ビルド スクリプトを使用して、マネージャー インターフェース (Tomcat に付属) を介して自動的にデプロイします。ここに2つの方法があります
    • Mavenの場合: tomcat プラグインを使用します。に含める必要はありません。goal をpom.xml発行するだけmvn tomcat:deployです。プラグインは Maven 2 に含まれています。これは、ドキュメントで説明されているいくつかのデフォルトを前提としていますpom.xml。展開されたアーカイブなどとして展開できるようにする他の目標があります。
    • Antの場合: 次のようなもの:
    <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 インターフェイスの使用方法は既に知っているので、ユーザーとパスワードの設定方法は知っていると思います。

于 2008-09-27T08:56:37.857 に答える
10

war ファイルを $TOMCAT_HOME/webapps/ ディレクトリにコピーするだけです。Tomcat は war ファイルを自動的に展開して展開します。参考までに-必要に応じて、展開されたディレクトリを直接更新できます。これは開発に役立ちます。

于 2008-09-27T00:10:56.793 に答える
2

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 ディレクトリにコピーできます。

于 2008-09-27T00:05:43.687 に答える
2

私たちは Web インターフェイスを使用したことがありません。好きではありません。war は、必要に応じて編集された webapps および server.xml にドロップされます。server.xml を編集する場合はバウンスする必要がありますが、war ファイルは自動的に取得されるはずです。通常、コンポーネントがどこから来たのか混乱しないように、戦争から拡張されたディレクトリを最初に削除します。

于 2008-09-27T00:13:28.253 に答える
1

Tomcat Client Deployer Packageは、コマンドラインからリモートサーバーにデプロイする必要があるもののようです。ページから:

これは、検証、コンパイル、.WARへの圧縮、およびWebアプリケーションの本番または開発Tomcatサーバーへのデプロイに使用できるパッケージです。この機能はTomcatManagerを使用するため、ターゲットのTomcatサーバーが実行されている必要があることに注意してください。

于 2008-09-27T00:37:52.190 に答える
1

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
于 2013-01-03T07:04:15.047 に答える