web-dev-qa-db-ja.com

GitHubからMavenの依存関係をロードする

GitHubリポジトリ(ライブラリはビルドシステムとしてMavenを使用)からJavaライブラリをMavenプロジェクトの依存関係として追加するにはどうすればよいですか?ライブラリをダウンロードしてコンパイルせずにそれを行うことはできますか?

78
Arielle

JitPack を使用して、GitHubリポジトリからJavaライブラリをインポートできるようになりました。 pom.xmlで:

  1. リポジトリを追加します。
<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
  1. 依存関係を追加
<dependency>
    <groupId>com.github.User</groupId>
    <artifactId>Repo name</artifactId>
    <version>Release tag</version>
</dependency>

JitPackがコードをチェックアウトしてビルドするため、機能します。したがって、jarをダウンロードすることになります。
プロジェクトにGitHubリリースがない場合は、バージョンとしてコミットIDを使用できます。

120
Andrejs

現時点では、ライブラリの管理者がこれを行う方法を提供しない限り、これを行う方法はありません。

そのため、ライブラリのタイトルページには、次のようなリポジトリアドレスを含む命令を指定する必要があります。

<repositories>
    <repository>
        <id>YOUR-PROJECT-NAME-mvn-repo</id>
        <url>https://raw.github.com/YOUR-USERNAME/YOUR-PROJECT-NAME/mvn-repo/</url>
        <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
        </snapshots>
    </repository>
</repositories>

依存関係の名前:

<dependency>
     <groupId>...</groupId>
     <artifactId>...</artifactId>
     <version>...</version>
</dependency>

これは、依存関係を含むプロジェクトのすべてのアーティファクトがこのリポジトリで検索されることを意味します。

pom.xmlを見て、リモートリポジトリにアーティファクトを展開する努力がなされたかどうかを確認することもできます。通常、キーワードはoss.sonatype.orgまたはraw.github.comこの場合のように。

参考までに、gihubアーティファクトのレポジトリを提供する方法を次に示します。 githubでMavenリポジトリをホストする

18
Andrey Chaschev

Jitpack のもう1つの非常に良い点は、メインページに検索ボタンがあることです。また、GitHubリポジトリのURLを入力すると、ソースコードの異なるコミットが表示され、必要なコミット/タグを選択できます。 Jitpackは、pom依存関係を作成します。

とてもシンプルになりました。

2
Memin