1

私はEclipseでHadoopプロジェクトに取り組んでおり、これは私のプロジェクトの別の1つに依存しています。ビルドパスに他のプロジェクトを含めましたが、依存プロジェクトをエクスポートすると、同じプロジェクトのクラスのみが含まれます。

通常、これは問題にはなりません。他のプロジェクトを-cpフラグでリンクするだけですが、Hadoopでは引数としてjarを渡す必要があります。つまり、すべての依存関係がそのjar内にある必要があります。

Eclipseで、依存しているプロジェクトのクラスを自動的にビルドして含める方法はありますか?

ありがとう。

4

3 に答える 3

1

ビルドツールとしてMavenをご覧になることをお勧めします。pomファイルと呼ばれるファイルで、各プロジェクトの依存関係とビルド手順を定義します。Eclipse用のmavenプラグイン(m2eプラグイン)は、pomファイルの構成を取得し、Eclipseビルドパスとプロジェクトの説明をセットアップして、Eclipseの他のプロジェクトのクラスにアクセスできるようにします。Mavenは、両方のプロジェクトのクラスを含むjar(「依存関係のあるjar」)を作成することもできます。

Mavenの用語では、2つのプロジェクトは「アーティファクト」と呼ばれ、一方が他方に依存しています。

Mavenの1つの欠点(およびMavenに関する多くの否定的なコメントの原因)は、最初は急な学習曲線であり、イライラする可能性があります。しかし、あなたがやろうとしていることは非常に単純であり、あなたがやりたいことを正確に示している多くの例を見つけることができると思います。

最初のステップ、そしてそれが私の答えですが、Mavenを見てみましょう。非常に複雑に見えるかもしれませんが、Hadoopアプリがますます複雑になるにつれて、必要なほぼすべてのビルド構成を処理できるように拡張できます。

于 2012-06-09T13:19:29.000 に答える
1

Antを使用して、自動的にビルド、テスト、およびエクスポートすることができます。それを学ぶには少し時間が必要ですが、その価値はあります。ファイル、jar(解凍)、またはその他のものを最終的なjarに含めるための可能なタスク(fileset、zipgroupfileset、copy)があります。このようにして、配布jarの内容を確実に把握し、eclipeインストールを実行する必要はありません。

于 2012-06-09T04:59:51.500 に答える
0

プロジェクトをRunnablejarとしてエクスポートできます。これは、依存関係が含まれている単一のjarが必要な場合に役立ちます。

プロジェクトを選択します。ファイル>エクスポート。Javaセクションを選択します。RunnableJARファイルを選択します。

関連する回答を参照してください:

Eclipse:外部jarを使用して実行可能jarを構築する方法は?

于 2012-06-09T02:25:53.977 に答える