2012-01-30 22 views
3

私は、mahoutとhadoopコアjarのいくつかのクラスに依存するプロジェクトを行っています。以前はクラスパスオプションを使用してjavacを使用していましたが、誰かが私のプロジェクトをビルドするためにmavenを使うべきだと私に示唆しました。しかし、私は/ usr/localディレクトリにあるこれらのjarファイルに依存関係を追加する方法がわかりません。mahoutとhadoopにmaven依存関係を追加するにはどうすればいいですか?

答えて

-1

mavenのドキュメント、特に依存関係管理に関する記事をご覧ください。 Mavenを使いたい場合は、基礎知識(その1つは依存関係管理)を知る必要があります。

基本的には、プロジェクトの依存関係をpomの<dependencies>セクションに定義します。必要な依存関係のためにMaven Central(最も一般的なオンラインリポジトリ)を検索するか、またはそれらを含む可能性がある他のオンラインリポジトリを検索します。

見つからない場合は、必要な依存関係を追加してください(賢明なグループID、アーティファクトIDとバージョンを考えてください)、コンパイルを試みてください。 Mavenは、依存関係の欠落を訴え、それらの依存関係をローカルリポジトリに入れるための基本的なコマンドを提供します。それらのコマンドをコピーし、jarファイルへの適切なパスを記入すると、mavenはその依存関係をローカルリポジトリに展開します。

オンラインリポジトリの依存関係を最初に調べる必要がある場合は、ローカルリポジトリに新しいバージョンをそれぞれ手動で展開する必要があるため、オンラインリポジトリの依存関係を調べる必要があります。

+1

を追加するにはこの回答には、必要な成果物を簡単に見つけるためにhttp://search.maven.org/を使用してください。成果物を見つけたら、プロジェクトpomに追加する必要がある正確な依存関係要素を見つける必要があります。たとえば、hadoop-core 1.0の依存関係情報はhttp://search.maven.org/#artifactdetails%7Corg.apache.hadoop%7Chadoop-core%7C1.0.0%7Cjar –

+0

@BrentWordenはい、検索できます。 maven.orgは、maven centralのエントリーポイントです。しかし、開発者が展開するリポジトリを変更したため、新しいバージョンや成果物が見つからないことがあります。したがって、私は通常最初にライブラリの現在のバージョンをチェックしてから、その正確なバージョンを探します。まず最初にmavenの中で、次に他のリポジトリ(しばしば親愛なる友人のGoogleを使って:))。 – Thomas

2

あなたのポンポンにこれを追加します。

<dependencies> 
    <dependency> 
     <groupId>org.apache.mahout</groupId> 
     <artifactId>mahout-core</artifactId> 
     <version>0.5</version> 
    </dependency> 
    <dependency> 
     <groupId>some.group</groupId> 
     <artifactId>hadoop</artifactId> 
     <version>some.version</version> 
    </dependency> 
</dependencies> 

このコマンドを実行し、上記のhadoop例を言うために使用されるjarファイルのコピーを持っている場合:

mvn install:install-file -Dfile=/some/path/my-hadoop.jar -DgroupId=some.group -DartifactId=hadoop -Dversion=some.version -Dpackaging=jar 
5
<dependency> 
      <groupId>org.apache.hadoop</groupId> 
      <artifactId>hadoop-core</artifactId> 
      <version>0.20.205.0</version> <!-- or whatever version --> 
     </dependency> 
    <dependency> 
     <groupId>org.apache.mahout</groupId> 
     <artifactId>mahout-core</artifactId> 
     <version>0.5</version> 
    </dependency> 
関連する問題