web-dev-qa-db-ja.com

Tomcat / EclipseでのWARのデプロイ

LinuxでTomcat 6.0とEclipse 3.0を使用していて、WARをTomcatにデプロイしようとしています。問題は、サーバーがEclipseによって管理されており、Eclipseプロジェクトがデプロイされていることです。 server.xmlファイルを変更してEclipse経由でTomcatを起動しようとしましたが、機能しません。

/ hosts/Tomcat v6.0サーバーのlocalhost-configにあるTomcatサーバー構成を読み込めませんでした。構成が壊れているか不完全である可能性があります。

Warをwebappsディレクトリに抽出しようとしましたが、まだwebappにアクセスできません。

戦争を展開するためのベストプラクティスは何ですか?

9
Loïc Guillois

はい、ある意味で、開発モードで戦争を展開できます。

私は同じ問題を抱えています。

Eclipse webappプロジェクトがあり、EclipseがEclipseによって実行されるTomcatのインスタンスにデプロイするので、プロジェクトをホット編集できます。

このWebプロジェクトは、Tomcatの同じインスタンス内で実行する必要がある別のWebアプリケーションによって公開されたリソースを使用する必要があります。もう1つのwebappは他の誰かが完成したプロジェクトであるため、すでに戦争状態になっています。

私のwebappも実行しているTomcatの同じインスタンスで実行するために、File-> ImportをEclipseプロジェクトとしてインポートし、EclipseにそれをEclipseの同じインスタンスにデプロイする必要がありました。

問題は、一部の戦争はこのように機能するが一部は機能しないことですが、それらすべてはスタンドアロンのTomcat(startup.shで起動)で完全に正常に機能します。理由がわかりません。

8
Yoichi

Tomcatは、開発モードとプロダクションモードで動作が異なります。 Eclipseでwebappを開発する場合、開発中にアプリケーションのWARファイルをWARとしてデプロイする必要はありません。

「サーバー」ビューに移動して、新しいサーバーを追加するだけです(既にそうしているはずです。そうしないと、動的Webプロジェクトを作成できません)。サーバービューで、作成したサーバー(localhostのTomcatなど)を右クリックして、[追加と削除]セクションに移動します。ここでは、Eclipseで作成した動的Webプロジェクトを追加および削除できます。プロジェクトを追加したら、サーバービューで緑色のスタートボタンをクリックするだけで、アプリがlocalhost:8080/mycontextで利用できるようになります。

アプリのビルドが完了したら、プロジェクトを右クリックして、メニューの[エクスポート]セクションに移動します。 WARファイルをエクスポートできるはずです。 WARファイルを取得したら、開発モードで実行されているEclipseに関連付けられていないTomcatインスタンスにアップロードしてデプロイできます。

7
Luke

これは古いですが、Google検索の最初の回答の1つです。

Warファイルをインポートできます。

Webアーカイブ(WAR)ファイルは、ワークスペースにインポートできる移植可能なパッケージ化されたWebアプリケーションです。

WARファイルをインポートする前に、WARファイルに必要なJava™ソースファイルが含まれているかどうかを最初に確認する必要があります。 WARファイルを既存のWebプロジェクトにインポートする場合、提供されたプロンプトへの応答に基づいて、インポートされたWebデプロイメント記述子ファイルは変更されないか、インポートされたWARファイルに含まれているファイルによって上書きされます。どちらの場合でも、このアクションは2つのセットのデプロイメント記述子のマージをしないを表します。

WARファイル内のWebプロジェクトリソースをワークスペースにインポートするには、次の手順を実行します。

  1. [ファイル]> [インポート]を選択します。
  2. [インポート]ダイアログでWARファイルを選択し、[次へ]をクリックします。
  3. 「参照」ボタンを使用して、インポートするWARファイルを見つけます。
  4. ウィザードは、WARファイルと同じ名前で新しいWebプロジェクトを作成することを前提としています。この選択を受け入れると、WARファイルで指定されたものと同じサーブレットバージョンで、同じ場所にプロジェクトが作成されます。これらの設定を上書きする場合は、Newをクリックして、ダイナミックWebプロジェクトウィザードで新しい設定を指定できます。
  5. 「完了」をクリックして、Webプロジェクトにデータを取り込みます。

ソース: http://help.Eclipse.org/luna/index.jsp?topic=%2Forg.Eclipse.wst.webtools.doc.user%2Ftopics%2Ftwimpwar.html

バイナリWAR(ソースコードなし)しかないと、Eclipse内にインストールできません。これは、通常の開発ワークフロー以外の特定のシナリオで発生する可能性があります。回避策は次のとおりです。

  1. Tomcatの別のインスタンスを起動します(Eclipseの外部)。
  2. Tomcat-users.xmlファイルを変更して管理者を有効にします
  3. http://localhost:8080/manager/htmlに移動
  4. 展開するWARファイルまでスクロールします
  5. Choose File((Select WAR file to upload)の横)をクリックして、Deployをクリックします。
1
Alex R