Как связать репозиторий GitHub как зависимость Maven

Я создаю репозиторий GitHub (частный) и хочу использовать его в качестве зависимости Maven для некоторых других проектов (частный). Соответственно, я опробовал следующие подходы в Интернете и все же смог импортировать зависимости maven в другие проекты.

Я пробовал следующие подходы

  1. https://gist.github.com/fernandezpablo85/03cf8b0cd2e7d8527063 путем создания ветки, содержащей jar и связывание ветки raw.githubusercontent.com в качестве URL-адреса репо.

  2. Размещение репозитория Maven на github

  3. http://www.lordofthejars.com/2011/09/questa-di-marinella-e-la-storia-vera.html

  4. http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html (аналогично шагу 1)

  5. https://github.com/jitpack/maven-simple Я попытался связать JITPACK и попробовал но все равно не работает.

Это основано на ссылке 5.

В моем файле pom.xml проекта, который я собираюсь использовать в репозитории, я добавил зависимость следующим образом, и он смог обновить индексы maven и загрузить связанные pom.xml< /strong> для CMD.

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

   <dependency>
        <groupId>com.github.Amutheezan</groupId>
        <artifactId>CMD</artifactId>
        <version>v1.0ALPHA2</version>
    </dependency>

ПРИМЕЧАНИЕ. - В качестве версии я пробовал недавно выпущенную версию, последнее значение фиксации и 1.0-SNAPSHOT.

Тем не менее я не мог импортировать в любом случае.

import com.abc.CMD.*
or
import com.abc.*

Можете помочь мне, где я делаю ошибку?


person Amutheezan    schedule 05.06.2018    source источник
comment
Джитпак должен быть хорошим подходом. Какие классы вы пытаетесь импортировать? Содержатся ли они в зависимости от jar, на которую ссылается maven? Какую ошибку вы получаете?   -  person Roland Weisleder    schedule 05.06.2018
comment
Да, они были в банке, до сих пор не могу понять, почему она не импортируется   -  person Amutheezan    schedule 05.06.2018
comment
Это потому, что это личное.   -  person Ryan The Leach    schedule 05.06.2018
comment
@RolandWeisleder Я обновил вопрос более четко и читабельно, можете ли вы мне помочь сейчас?   -  person Amutheezan    schedule 05.06.2018
comment
@RyanTheLeach Я попытался сделать его общедоступным, но это не помогло (для частного: также я попытался добавить конфигурацию в $HOME/.m2/settings.xml, чтобы связать частный файл)   -  person Amutheezan    schedule 05.06.2018
comment
Можешь отредактировать пост со своим полным пом, без логина/пароля? Я подозреваю, что что-то еще вызывает сбой вашей сборки или она неправильно публикуется на jitpack, что затрудняет доступ к вашим файлам.   -  person Ryan The Leach    schedule 05.06.2018
comment
Руководства 1-4, которым вы следуете, являются хакерскими и мусорными и (ab) используют github для чего-то, что он никогда не был разработан (и поэтому будет трудно устранить неполадки). ЕСЛИ вы хотите использовать джитпак, тогда следуйте только руководствам, созданным для джитпака, это совершенно другой метод, чем другие, и их не следует путать.   -  person Ryan The Leach    schedule 05.06.2018
comment
@RyanTheLeach, поэтому единственным решением, доступным для Maven Dependency, является использование JITPACK, поскольку я сделал свой файл pom.xml с помощью (2), я обновлю его с помощью JITPACK и отредактирую сообщение с соответствующим файлом pom.   -  person Amutheezan    schedule 05.06.2018
comment
Это не единственное доступное решение, это просто единственное не хакерское решение для получения простого в использовании репозитория из репозитория github из 5 перечисленных вами вариантов, поэтому jitpack существует как услуга. Вместо этого вы всегда можете разместить свой собственный репозиторий maven на веб-хостинге, которым вы управляете.   -  person Ryan The Leach    schedule 05.06.2018
comment
Я фактически добавил <repositories> <repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> </repositories> в качестве репозитория и <dependency> <groupId>com.github.Amutheezan</groupId> <artifactId>abcCMD</artifactId> <version>v1.0ALPHA2</version> </dependency> и добавил настройку, указанную для частного файла, в дополнение к обычно сгенерированному файлу POM для проекта Idea Maven.   -  person Amutheezan    schedule 05.06.2018


Ответы (1)


Это потому, что ваш репозиторий является частным, и вы не выполнили шаги, чтобы авторизовать jitpack для доступа к частному репозиторию.

https://jitpack.io/private

Частные репозитории Чтобы использовать JitPack с частными репозиториями:

Шаг 1. Авторизуйте JitPack и получите свой персональный токен доступа:

Шаг 2. Добавьте токен в $HOME/.m2/settings.xml в качестве имени пользователя.

<settings>
  <servers>
    <server>
      <id>jitpack.io</id>
      <username>AUTHENTICATION_TOKEN</username>
      <password>.</password>
    </server>
  </servers>
</settings>

Идентификатор сервера должен быть таким же, как вы используете в своем pom.xml.

Шаг 3. (Необязательно) Вам может потребоваться одобрить приложение JitPack на GitHub.

Артефакты сборки (jar, aar) также являются частными, и вы можете загрузить их, только если у вас есть доступ к самому репозиторию Git. См. документацию для более подробной информации

Если вы хотите разместить JitPack внутри своей организации, см. JitPack Enterprise.

person Ryan The Leach    schedule 05.06.2018
comment
Я подписался на авторизованный джитпак и добавил код авторизации - person Amutheezan; 05.06.2018
comment
Вы правильно упомянули что-то подобное, я пробовал, и это все равно не работает. Я пробовал как в приватном, так и в общедоступном режиме, но не могу скачать <settings> <servers> <server> <id>jitpack.io</id> <username>abcd</username> <password>.</password> </server> </servers> </settings> - person Amutheezan; 05.06.2018
comment
Я следовал вышеуказанным методам, но это не работает - person Amutheezan; 05.06.2018
comment
Я не знаю, что еще предложить вам, но это может помочь кому-то еще. - person Ryan The Leach; 05.06.2018
comment
Если у вас есть ProjectA; и ProjectB, который зависит от ProjectA, убедитесь, что вы выполняете авторизацию на github ProjectA и включаете токен/зависимость от ProjectB - person Ryan The Leach; 05.06.2018
comment
Я не совсем понял, нужно ли нам добавлять какие-либо другие вещи, а не репозиторий и зависимость в файл pom.xml и конфигурацию токена в файл $HOME/.m2/settings.xml - person Amutheezan; 05.06.2018