2011-02-11 18 views
3

私はMavenを使い慣れていないので、複数のMaven管理プロジェクトに含めるバイナリライブラリ(.jars)のセットがある状況に対処する方法を工夫しています。 。Maven/Eclipseのバイナリライブラリの依存関係

ライブラリにはpom.xmlファイルがなく、Mavenリポジトリでは使用できません。

これらのライブラリを私の他のプロジェクトに含めるには、Maven/m2eclipseをどのように設定する必要がありますか?私はこれらを扱うためにMavenの "ラッパープロジェクト"のKineをセットアップする必要があると仮定していますか?

答えて

1

あなたが最初にウィルのポスト@で示し、あなたのMavenのリポジトリにjarファイルをインストールする必要があります。これらのjarファイルはMavenリポジトリにのみ存在することに注意してください。別の言い方をすれば、このプロジェクトコードを他の開発者と共有している場合は、自分のローカルリポジトリで同じことをする必要があります。そうしないと、jarファイルを見つけることができなくなります。

このようなチーム開発のより洗練されたソリューションは、一部のローカルサーバーでNexusをホストすることです。 Nexusは、すべての外部リポジトリを1つの場所にグループ化します(プロキシとして考える)。だから、そのJarをNexusの「ホストされたリポジトリ」にインストールしたいと思うでしょう(ところで、Nexusには3種類のレポがあります)。次に、インターネットの代わりにNexusから引き出すようにチームメンバーの開発をすべて構成します。こうすることで、チームメンバーがプロジェクトをローカルのワークスペースにチェックアウトすると、すべてがシームレスになり、自動的にJARファイルが取得されます。このように、pom.xmlに外部リポジトリを設定する必要はありません。 :)

2

チームプログラミングを使用している場合は、@limc投稿を使用してください。

それはあなたのためだけなら、それに対処するためのいくつかの方法があります:

ローカルリポジトリにjarファイルを追加するプラグインのmavenあります。

mvn install:install-file -DgroupId=<your_group_name> \ 
-DartifactId=<your_artifact_name> \ 
-Dversion=<snapshot> \ 
-Dfile=<path_to_your_jar_file> \ 
-Dpackaging=jar \ 
-DgeneratePom=true 

それとも、そのようなシステムの依存関係としてjarファイルを参照することができます。

<dependency> 
     <groupId>com.package</groupId> 
     <artifactId>id</artifactId> 
     <version>5.2</version> 
     <scope>system</scope> 
     <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/my.jar</systemPath> 
    </dependency>