Tomcatのカスタムホストにアプリケーションを展開します

StackOverflow https://stackoverflow.com/questions/3914888

  •  29-09-2019
  •  | 
  •  

質問

アプリケーションを展開するためにいくつかの問題がありました。

環境:Ubuntu 10.04、Tomcat 7.02(リポジトリからではなく、Tomcatサイトからアーカイブからインストール)、サーバーは実行され、IDEを使用しない手動で停止します。

最初にホストを作成しました $CATALINA_HOME/conf/server.xml:

<Host name="java.dev"  
      appBase="/home/krasilich/java/"  
      autoDeploy="true" >  
    <Alias>www.java.dev</Alias>  
</Host>

次に、コンテキストを作成します $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml:

<Context docBase="siloc/web/" />

エラーがありました

docbase/home/krasilich/java/siloc/web/ホストアプリの内部が指定されており、無視されます

ただし、Manager.xmlをコピーすると $CATALINA_HOME/conf/Catalina/java.dev/ マネージャーアプリを実行できます。マネージャーを介してアプリケーションを展開すると、すべてが順調に進んでいると言われていますが、Java.dev:8080/Siloc/に404が表示されます。

それはすべてカスタムホストです。

私はLocalHostのマネージャーを介してアプリケーションを展開しようとしましたが、それは機能します、私はlocalhost:8080/siloc/で私の「HelloWord」を見ることができます

ただし、index.jspのテキストを変更すると、フロントエンドでは影響を受けません。 「Redeploy」ボタンは私には役に立ちません。

マネージャーに言及したように、アプリケーションファイルをWebAppsディレクトリにコピーするだけで、構成ファイルに変更を加えないでください。

ファイルシステムの任意のディレクトリにアプリケーションを展開できることが必要です(実際には /home/krasilich/java/).

そして、java.devのようなカスタムホストでこれを行うことができれば、答えが必要です。なぜコンテキストが $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml 私のために働いていません、そして私はそれを一貫性にするために何をしますか?

ありがとう。

役に立ちましたか?

解決

私はあなたの問題を再現することができました。

2つの回避策があります。 appBasedocBase. 。 2つは一緒に動作しないようです。

オプション1-アプリベースを削除します

を削除します appBase から server.xml Webアプリへのフルパスを指定します docBase の中に $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml

私はあなたの価値があると思います /home/krasilich/java/siloc/web/siloc.

注:親フォルダーまでのみ指定します /home/krasilich/java/siloc/web/ 親フォルダのディレクトリリストが表示されます

オプション2- docbaseを削除します

$CATALINA_HOME/conf/Catalina/java.dev/siloc.xml

を削除します docBase と保管してください <Context/>

TomcatはWebApp名を導きます siloc から $CATALINA_HOME/conf/Catalina/java.dev/siloc.xml そして、それは名前が付けられたWebAppを探します siloc AppBaseで。

これにより、java.dev:8080/siloc/が作業を行うこともできます。 appBaseserver.xml WebAppの親フォルダーに siloc.

理由に応じて manager 作品、同じ理由-Manager.xmlにはdocbaseがありません

私はdocbaseの他の組み合わせを試していますが、私が与える価値はあらゆるスロー

警告:docbase ...ホストAppbaseの内部が指定されており、無視されます

したがって、私の結論は、docbaseを削除することです。これは良いアイデアではありません - 親フォルダーへのフルパスはserver.xmlでハードコードされるためです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top