6

いくつかの Web アプリケーションを tomcat 6.x にデプロイしようとしていますが、autoDeploy と onDeployStartup をオフにしました。これらのアプリケーションを手動で登録し、war ファイルの名前に基づいていない URL にマッピングしたいからです。

次のコンテキスト ファイルを $catalina.home/conf/Catalina/localhost に配置しました。

<Context path="" docBase="web-1.0-SNAPSHOT.war" debug="1">
</Context>

$catalina.home/webapps の下に war ファイルを配置しましたが、Tomcat を起動しても何も展開されません。作成したコンテキスト ファイルに関するエラー メッセージも表示されません。または、何かが間違っていると言っている印刷物。

どうしたの?autodeploy の概要を説明しているドキュメントをよく読みましたが、autodeploy 以外でこれを行う方法の詳細については非常に大ざっぱです。

4

4 に答える 4

3

したがって、autoDeployの動作と代替デプロイメントの詳細については、ここでのみ実際に説明します。

http://wiki.apache.org/tomcat/HowTo#How_do_I_make_my_web_application_be_the_Tomcat_default_application.3F

tomcatがこれをそれほど複雑にする理由はわかりません。autoDeployをオフにする場合、唯一のオプションはserver.xmlを変更し、そこにコンテキストを追加することです。コンテキストの定義を外部化することはできません。これは、物事を展開するための複雑な方法のようです。時間をかけてXML構成ファイルを削除する場合は、マウント先のURLとdocBaseを制御できるはずです。Jettyがそうするので、それをまっすぐにしてください。

于 2012-11-08T14:59:23.717 に答える
2

次の手順を試してください

Tomcat をシャットダウンする

web-1.0-SNAPSHOT.war を webapps フォルダーにコピーします。

ウェブアプリをデプロイします。

これで、webapps 内に web-1.0-SNAPSHOT という名前のフォルダーができました。

conf/server.xml に移動します

次のエントリを追加します

<Context path="/abc" docBase="web-1.0-SNAPSHOT" debug="1"></Context>

ドックベースに .war 拡張子がありません。web-1.0-SNAPSHOT.war がデプロイされると、webapps 内にディレクトリ web-1.0-SNAPSHOT が作成されます。ドックベースはこのディレクトリを指している必要があります。

Context タグが

<Host>  </Host> tag 

<Host>
    <Context path="/abc" docBase="web-1.0-SNAPSHOT" debug="1"></Context>
</Host>

server.xml を編集したら、Tomcat サーバーを再起動して変更を反映する必要があります。これで、webapp を次の場所で見つけることができます。

localhost:8080/abc

お役に立てれば

于 2012-11-08T04:42:30.323 に答える
1

deployonstartup を false に設定すると、Tomcat は起動時にアプリをデプロイしません。自動展開をオフにするだけで十分だと思います。したがって、server.xml のホストで次のことを試してみてください: autoDeploy="false" deployOnStartup="true"。

于 2012-11-07T22:54:06.777 に答える
0

サンプルコード

<Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="false" deployOnStartup="false">


    <Context path="/howto-prepareexam" docBase="howto-prepareexam" debug="1"></Context>

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

次に、Tomcatを再起動します

于 2019-06-06T03:25:30.500 に答える