2011-06-24 6 views
0

私はantからmavenに移行するプロジェクトを持っています。このプロジェクトでは、軽くカスタマイズされたHiveビルドを利用しています。このビルドを私たちの内部のmavenリポジトリにインポートして、プロジェクトのpomファイルに依存するものとしてリストアップすると考えました。私が実行している問題は、Hiveビルドがビルド/ dist/libにたくさんのjarファイルを生成するということです。これらの中には、ハイブの核となるものもあれば、ハイヴが依存するものもあります。これらを処理する最良の方法は何ですか?すべてのコアハイブジャーを内部リポジトリに入れ、新しいプロジェクトのpomファイルの文書化されていない依存関係を処理するだけですか?あるいは、すべてのものを瓶の瓶として瓶詰めし、それをレポに配備しますか?そのアプローチは機能するだろうか?何人かの助けを借りておかげさまで、まだ初心者の一種。mavenプロジェクトでHiveを使用する

答えて

1

変更されたHiveビルド用にPOMを作成し、それをJARと共に内部アーティファクトリポジトリに展開する必要があります。このPOMは、依存関係(つまり、他のJAR)を指定する必要があります。それらのうちのいくつかもカスタムバージョンである場合は、それらのPOMも作成する必要があります。それ以外の場合は、標準のpublic groupId/artifactIdを使用してください。これはMavenの方法です。 Hiveを構築するためにPOMを使用する必要は必ずしもありません。

あなたはこれを行う必要があります理由:あなたは正しく依存関係を指定しない場合、誰かが自分のプロジェクトに依存関係の完全なセットを含めることを忘れ、または間違ったバージョンを指定した場合、あなたが問題に遭遇するかもしれません

  • そのうちの1人のため
  • jarのjarファイルを作成すると、他のバージョンのカスタムHive「uber jar」とそれらの依存ファイルの異なるバージョンを同時に使用しようとすると、問題が発生する可能性があります。クラスパスには、重複するクラスの複数のバージョンがあります。

Mavenには、起こっていることをすべて伝えておくのが一番です。聞きたいと思っていることを伝えないでください。

関連する問題