137

持っているjarファイルを取得して、maven 2の依存関係システムに追加するにはどうすればよいですか? 私はこの依存関係の管理者になり、私のコードはコンパイルできるようにクラスパスにこの jar が必要です。

4

5 に答える 5

140

これは、次の 2 つの手順で行う必要があります。

1. JAR に groupId、artifactId、および version を指定し、リポジトリに追加します。

内部リポジトリがなく、JAR をローカル リポジトリに追加しようとしているだけの場合は、任意の groupId/artifactIds を使用して次のようにインストールできます。

mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile

内部リポジトリがある場合は、これを組織内の他の開発者が利用できるようにするために、それを内部リポジトリにデプロイすることもできます。私は自分のリポジトリの Web ベースのインターフェースを使用してアーティファクトを追加しているだけですが、mvn deploy:deploy-file ....

2. 依存プロジェクトを更新して、この JAR を参照します。

次に、要素に以下を追加して、JAR を使用するプロジェクトの pom.xml の依存関係を更新します。

<dependencies>
    ...
    <dependency>
        <groupId>com.stackoverflow...</groupId>
        <artifactId>artifactId...</artifactId>
        <version>1.0</version>
    </dependency>
    ...
</dependencies>
于 2008-12-28T22:25:38.367 に答える
93

Maven リポジトリにない依存関係を指定することもできます。チームの中央 Maven リポジトリが存在しない場合、またはCIサーバーがある場合に役立つ可能性があります

    <dependency>
        <groupId>com.stackoverflow</groupId>
        <artifactId>commons-utils</artifactId>
        <version>1.3</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/commons-utils.jar</systemPath>
    </dependency>
于 2009-04-19T07:49:42.623 に答える
48

実際、これを調査したところ、これらの答えはすべて間違っていると思います。あなたの質問は誤解を招くものですmaven。そして、私はちょうど紹介されたばかりなので、私たちと言いましたmaven.

ではEclipse、プロジェクトに jar ファイルを追加する場合、通常は手動で jar をダウンロードしてからlibディレクトリにドロップします。Mavenでは、このようにはしません。行うことは次のとおりです。

  • mvnrepositoryに移動
  • 追加したいライブラリを検索します
  • 声明dependencyをあなたのpom.xml
  • 再構築mvn

これで、依存関係のリストと一緒mavenに接続してダウンロードし、持っていjarた可能性のある追加の依存関係を自動的に解決しますjarjarそのため、commons-logging も必要な場合は、それもダウンロードされます。

于 2009-01-12T15:08:32.310 に答える
14

私はこれをします:

  1. pomに好きなように依存関係を追加します。

    <dependency>
            <groupId>com.stackoverflow...</groupId>
            <artifactId>artifactId...</artifactId>
            <version>1.0</version>
    </dependency>
    

  2. 実行mvn installすると、jarをダウンロードしようとして失敗します。その過程で、エラーメッセージとともにjarをインストールする完全なコマンドが表示されます。そのコマンドをコピーして実行してください。簡単だよね?

于 2008-12-29T12:53:57.383 に答える
3

単に POM を更新する方法を尋ねるのではなく、依存関係を「既知のリポジトリ」にプッシュする方法を尋ねていると仮定します。

はいの場合、これはあなたが読みたいものです。

内部リポジトリ サーバーのセットアップを検討している場合は、こちらを参照してください(Maven 2 を使用する際の問題の半分は、ドキュメントを見つけることです)。

于 2008-12-28T15:32:50.090 に答える