Подтвердить что ты не робот

Загрузка зависимостей Maven от GitHub

Как добавить библиотеку Java из своего репозитория GitHub (библиотека использует Maven как систему сборки) в качестве зависимости от моего проекта Maven? Могу ли я это сделать без загрузки и компиляции библиотеки?

4b9b3361

Ответ 1

Теперь вы можете импортировать библиотеку Java из репо GitHub с помощью JitPack. В вашем pom.xml:

  • Добавить репозиторий:
<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 проверит код и построит его. Таким образом, вы в конечном итоге загрузите банку.
Если проект не имеет версии GitHub, тогда можно использовать идентификатор фиксации в качестве версии.

Ответ 2

В настоящий момент вы не можете сделать это, если разработчик библиотеки не предоставит вам способ сделать это.

Итак, на титульной странице библиотеки должна быть инструкция, содержащая адрес репозитория, например:

<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, как в этом случае.

FYI, вот способ предоставить репо для вашего артефакта gihub: Хостинг репозитория Maven на github.