Могу ли я использовать проект GitHub непосредственно в Maven?
Я заинтересован в использовании проекта на GitHub в качестве зависимости в моем проекте. Проект GitHub имеет pom
файл. Могу ли я изменить мой pom
файл для использования этого проекта? Если так, то как? Если нет, то каков мой лучший образ действий?
3 ответа
Не так, как я думаю, ты имеешь в виду, AFAIK.
Вы можете использовать github в качестве репозитория Maven- это не то же самое, что прямая ссылка на проект, и наличие в нем файла pom означает только то, что это проект Maven.
Если проект недоступен в центральном или другом репозитории, лучше всего его клонировать, собрать и установить локально. Вы должны подтвердить, что это действительно не доступно в другом месте.
Попробуйте jitpack, вам просто нужно добавить зависимость, jitpack создаст для вас другие.
С домашней страницы:
jitpack
Простое в использовании хранилище пакетов для проектов Gradle и Maven
JitPack создает проекты GitHub по запросу и предоставляет готовые к использованию пакеты
КАК
- Сначала добавьте репозиторий
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
- Добавить зависимость
<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