2

個人用の Linux マシンと Windows にも tomcat+solr をインストールして構成しました。私はそれらをうまく機能させることができました。私はJavaとファイル構造の仕組みに非常に慣れていません。(つまり、war ファイルを配置する場所と WEB-INF が何であるかを知っている) これで、solr をインストールして、クライアントの共有ホスティング プランで構成する準備ができたので、指示は以前とは異なります。私はこれを台無しにしたくありません。どうやらウェブサーバーは毎日再起動するようで、手動で行うことはできないと思います。

彼のホスティング プロバイダーに Tomcat サーブレットをインストールする手順は次のとおりです

ご覧のとおり、solr を html/WEB-INF ディレクトリにインストールする必要がありますが、その内容を読むと、非常に混乱します。

「すべてのサーブレットは/html/WEB-INF/classesディレクトリにアップロードする必要があります。パッケージ化されていないカスタム クラスとリソースは/html/WEB-INF/classesディレクトリにアップロードする必要がありますが、 Jarファイルにパックされたクラスとリソースはアップロードする必要があります。 /html/WEB-INF/libに。」

うーん…だからどっち?/クラス?または /lib? 私は彼らがそれをうまく説明しているとは思わないし、私はこの声明に少し混乱している. また、正確には何をインストールしますか?通常の solr インストールでは、solr は別の場所に配置され、war ファイルは tomcat にコピーされ、solr の残りの部分は何らかの XML 構成ファイルを使用して参照されます。

また、私はJavaとサーブレットに少し慣れていないので、誰かがTomcatファイル構造を説明してくれますか(非常に詳細に説明すると、間違いなく私から+1が得られます)、どこに行くべきか、なぜですか?

前もって感謝します!

4

1 に答える 1

3

Web アプリケーションの構造は J2EE 仕様で定義されており、Tomcat 自体に限定 (または特定) されていません。これは、そのレイアウトをカバーする詳細なチュートリアルです。ざっくりですが、以下の通りです。

  1. Web アプリケーションのルートとして機能するベース (ルート、ホーム、任意の名前) フォルダーがあり、他のすべてはその下にあります。
  2. すべてのパブリックなもの (html、画像、CSS、javascript、JSP など) は、そのフォルダーの下に (直接またはサブフォルダー経由で) 配置されます。
  3. これもルートの直下にあるWEB-INF. web.xmlこれには、アプリケーション記述子 ( )、クラス (WEB-INF/classesフォルダーに入る)、ライブラリ ( WEB-INF/lib)、および場合によっては構成ファイルなど、非公開のものが含まれます。
  4. アプリケーションは、上記の展開された構造を使用して、または基本的にルート フォルダー レベル (ルートを含まない) から始まる上記のすべてを含むアーカイブである WAR (Web アーカイブ) としてデプロイできます。

classesとフォルダの違いlibは簡単です。すべてのパッケージ化されたライブラリ (JAR ファイル) はlib;に入る必要があります。パッケージ化されていないすべてのクラス (およびクラスパスにある必要があるリソース ファイル) は、ディレクトリ構造をclasses 保持するcom.mypackage.Blah必要があります (たとえば、クラスは に移動する必要がありますclasses/com/mypackage/) 。

/htmlあなたの場合、展開できるWebアプリケーションは1つだけで、フォルダーに展開する必要があるようです。war ファイルを展開している場合は、そのディレクトリに展開する必要があります (たとえば、その/htmlフォルダー runjar xvf solr.war内またはそれが呼ばれるものから)。

于 2009-08-01T18:00:29.277 に答える