2011-12-03 31 views
1

私はMaven 2.2.1を使用しています。私は構築しようとしているエンタープライズJava Mavenプロジェクトを持っています。 を実行すると、EARが生成されます。コンパイルエラーは検出されません。ログには、1980年のソースファイルがApplicationWeb \ target \ classesディレクトリにコンパイルされているというメッセージが表示されます。しかし、私はこれらのクラスファイルをその場所に見つけることができず、WARには存在しません。これを解決するには?Mavenビルドは成功しましたが.classファイルは見つかりません

編集: Mavenプラグインを使用してEclipseからビルドした場合、正常に動作します。 Windowsのコマンドプロンプトから実行すると問題が発生します。なぜ違い?

+0

おそらくクラスは別の場所に生成されていますか?クラスのファイルシステムを検索することができます。 – Raghuram

+0

パスが適切です。私はログを調べた。 – Prabhat

+1

1980のソースファイルがコンパイルされていることをコンソールが示しているにも関わらず、コマンドラインmvnを実行した後、ファイルシステムのどこにでもクラスが見つからないということですか?その後、おそらくそれらは後の目標によって削除されます。 mvnをコンパイルして検証してください。 – Raghuram

答えて

1

Mavenの別のバージョンを使用しているときは、通常このようなことが起こります。あなたのEclipseがビルドされたバージョンである3.xを使用していると私は賭けています。

あなたは2つの選択肢があります。

  1. は、EclipseはMavenの新しいバージョンをインストールし
  2. あなたのコマンドラインと同じバージョンを使用してください。 (3.0.3が最新です)

Mavenを最新バージョンにアップグレードし、コマンドラインとEclipseの両方に同じインストールバージョンを使用することをお勧めします。

+0

はい。 Eclipseがバージョン3を使用しているように見えます。以前はMaven 2.2.1でこれを経験したことがありません。 Maven 2.2.1でこの問題を解決する方法はありますか? – Prabhat

+0

Mavenプラグインのバージョンと互換性のためのインテルシメントはそれを難し​​くしています。可能であれば、私はバージョン3を使用します。 –

+0

より厄介な部分は、いくつかのシステムでは動作し、それ以外のものではそれはありません。 – Prabhat

0

この問題を解決するための最初の試みとして、warモジュール(WAR生成の責任を負うモジュールを用意する必要があります)にアクセスし、ファイルが存在するかどうかを確認してください。 耳のモジュールはここの「封筒」に過ぎません。戦争だけで耳の中に入れます。 問題が実際にWARモジュールのpomファイルに存在し、EARのものではないと考えています。 生成された戦争のサイズを確認し、warプラグインの設定も確認してください。

一般的に、このような状況は起こりません。

これが役に立ちます。

+0

はい。私は同じWARについて話していました。サイズは26MBでなければなりませんが、24MBです。また、何かを観察した。修正された最初の質問。 – Prabhat

関連する問題