Могу ли я использовать проект GitHub непосредственно в Maven?

Я заинтересован в использовании проекта на GitHub в качестве зависимости в моем проекте. Проект GitHub имеет pom файл. Могу ли я изменить мой pom файл для использования этого проекта? Если так, то как? Если нет, то каков мой лучший образ действий?

3 ответа

Решение

Не так, как я думаю, ты имеешь в виду, AFAIK.

Вы можете использовать github в качестве репозитория Maven- это не то же самое, что прямая ссылка на проект, и наличие в нем файла pom означает только то, что это проект Maven.

Если проект недоступен в центральном или другом репозитории, лучше всего его клонировать, собрать и установить локально. Вы должны подтвердить, что это действительно не доступно в другом месте.

Попробуйте jitpack, вам просто нужно добавить зависимость, jitpack создаст для вас другие.

С домашней страницы:

jitpack
Простое в использовании хранилище пакетов для проектов Gradle и Maven
JitPack создает проекты GitHub по запросу и предоставляет готовые к использованию пакеты

КАК

  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>

ЧАЕВЫЕ:

Вы также можете увидеть его журнал сборки https://jitpack.io/com/github/NanoHttpd/nanohttpd/Release-2.1.0/build.log

Ответ @wener очень полезен, но оставляет некоторую загадку.

Этот реальный пример может сэкономить время:

      <project ... >
    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>

            <!-- groupId is https://github.com/fabric8io/kubernetes-client -->
            <groupId>com.github.fabric8io.kubernetes-client</groupId>

            <!-- module is a directory within the repo, containing pom.xml -->
            <artifactId>kubernetes-model-generator-client</artifactId>

        </dependency>
    </dependencies>

 . . .

Убедитесь, что вы вошли в GitHub.

Вы также можете найти индексную страницу тегов, вырезав тег в URL-адресе, например https://jitpack.io/com/github/fabric8io/kubernetes-client/ . На своем примере я разобрался, нужно ли удалять "v" из "v6.4.1" или нет, так как есть релиз с тегом v и тегом без него.

Подробнее: страница jitpack.io

Другие вопросы по тегам