2010-11-23 7 views
3

私はEclipse Heliosを使用しています。私はダイナミックなWebプロジェクトを進めており、Antビルダーを使用してWARファイルを生成するようにEclipseをセットアップしました。これはすべて正常に動作します。 .javaファイルを変更すると、Eclipseは自動的にAntを介してbuild.xmlを実行し、WARを更新します。 Tomcatの外部インスタンスにWARをデプロイすると、完全に動作します。内部でビルドするものではなく、ANTスクリプトがビルドするWARファイルを展開するにはEclipseが必要です

しかし、Tomcatの下でプロジェクトを実行するようにEclipseに指示すると、Antビルドで生成されたWARファイルを使用していないか、Antスクリプトを使用して一時的なWARを生成していません。

私のbuild.xmlスクリプトには、WARのWEB-INF/classesに、EclipseがプッシュするWEB-INF/classesディレクトリに終わっていないXML設定ファイルがいくつか追加されています。

「Eclipseを公開するときは、自分でビルドする代わりにこのWARファイルを使用する」というEclipse内には何も見つかりません。

別の方法として、ファイルのリストを追加してWARを作成するときにTomcatに通知する方法もありますが、その方法を見つけることはできません。

Eclipseが私のbuild.xmlと私の以前に生成されたWARファイルを明らかに無視しているので、Eclipseがどのように公開すべきかを知っているかどうか不思議です。

答えて

6

Eclipseは、プロジェクトのWeb配置アセンブリオプションを調べて、Webアプリケーションを展開します。プロジェクトを右クリックして[プロパティ]を選択し、[展開アセンブリ]をクリックすると、これが表示されます。 Eclipseは通常、WARを作成してデプロイするのではなく、拡張されたディレクトリ配備を使用しています(これはサーバープラグインの使用に基づいていますが、大部分は高速化のために拡張ディレクトリ構造を使用しています)。 WARとしてエクスポートすると、同じ内容のWARが作成されます。

あなたが好きなものを行うには、2つの主要な選択肢があります:

  • は使用しないでくださいあなたが展開アプリ

  • に希望まさに一致するWeb配置アセンブリのオプションを変更します。 Eclipseのデプロイメント。プロジェクトの「ビルダー」オプションに「外部Antビルダー」を追加します(プロジェクトを右クリックし、「プロパティー」 - >「ビルダー」を選択します)。 eclipseがプロジェクトをビルドするときに使用するantファイル内のターゲットを選択できます。これらのオプションの一つは、私が「代わりに、独自の構築のこのWARファイルを使用して、あなたは公開時に」言うEclipse内何かを見つけることができないよう、展開ステップ

+0

は、私はオプション1は私が特定のファイル、フォルダのみとアーカイブを追加することはできません主な理由は、そのオプション2に行く必要がありますね。ありがとう! – Jay

+0

私はあなたがそれが必要な場合は、WARのルートフォルダにフォルダの内容を展開するように設定できると思います。 –

+0

特定のファイルをWEB-INF/classesディレクトリにコピーする必要があるため、ここでは機能しません。そのため、アプリケーションがロードされるときにクラスパス上にあります。 – Jay

0

することができます。

私はIntelliJユーザーですので、塩の穀物でこれを取ってください。しかし...

プロジェクトエクスプローラターゲット/ foo.warを右クリックして、[Deploy Deployable]を選択します。

再度foo.warファイルを右クリックし、[ファイル名を指定して実行として... - >ファイル名を指定して実行でサーバー...

JBossインスタンスを選択してください。あなたはServersビューに行けば

、あなたは今/ proj_root /ターゲット/ fooのようJBossインスタンスの下であなたのWARファイルが表示されます。戦争

ああエクリプス、ため息...

関連する問題