2

これまでのところ、$CATALINA_HOME/conf/Catalina/localhost の下の context.xml ファイルに application1-context.xml、application2-context.xml として展開するように war を指定する Tomcat 6 を使用してきました。等

例 application1-context.xml

<Context path="/myapps/app1" docBase="C:\warfiles\appOne.war"
        debug="0" privileged="true">
            <Loader className="MyCustomApplicationLoader"/>
            <Logger className="org.apache.catalina.logger.SystemOutLogger" verbosity="4" timestamp="true"/>         
</Context>

これにより、$CATALINA_HOME/webapps フォルダーの下にフォルダー myapps#app1 が作成されます。

しかし、Tomcat7 に移行してから、このようなことはなくなりました。tomcat appBase ディレクトリ、つまり $CATALINA_HOME/webapps の直下に war ファイル「appone.war」がない限り、私の war は $CATALINA_HOME/webapps ディレクトリの下のフォルダーに解凍されません。

この apache バグ レポートを読みました: https://issues.apache.org/bugzilla/show_bug.cgi?id=51294"%3B>%3B51294<%3B/a>%3B

質問: Tomcat 7 でこの動作を強制する方法はありますか?

4

2 に答える 2

0

試す<Context unpackWARs="true" ...

conf/catalina/... の下のファイルは手動で変更しないでください。Web アプリケーションの最初の起動時に存在しない場合は、自動的に作成されます。これらのファイルは絶対に変更せず、代わりに削除して、Tomcat 自体から新しく作成するようにしてください (/META-INF/context.xml存在する場合は、war の -File によって構成されます)。

于 2013-12-02T15:10:04.083 に答える