Как заставить Maven использовать jcenter repoistory - PullRequest
1 голос
/ 04 октября 2019

Я пытался получить зависимости от mvn, но проблема в том, что один из пакетов не находится в официальном репозитории. Я сумел добавить jcenter к источникам, но Maven, похоже, не всегда туда заглядывает.

Здесь он правильно смотрит на следующее репо

Downloading from central: https://repo.maven.apache.org/maven2/io/ktor/ktor-client-core/1.2.5/ktor-client-core-1.2.5.pom
Downloading from central: https://jcenter.bintray.com/io/ktor/ktor-client-core/1.2.5/ktor-client-core-1.2.5.pom

, но здесь нет:

Downloading from central: https://repo.maven.apache.org/maven2/io/ktor/ktor-http/1.2.5/ktor-http-1.2.5.pom
[WARNING] Missing POM for io.ktor:ktor-http:jar:1.2.5

mvn -Dartifact=io.ktor:ktor-client-core:1.2.5 -DremoteRepositories=central::default::https://jcenter.bintray.com/ dependency:get

1 Ответ

2 голосов
/ 06 октября 2019

Артефакты io.ktor в настоящее время недоступны в Maven Central для версий более новых, чем 1.2.4. Поэтому их необходимо загрузить из репозитория Jcenter .

ktor-http имеет зависимость ktor-utils. При вызове плагина зависимости для ktor-http Maven пытается также загрузить артефакт ktor-utils. К сожалению, параметр -DremoteRepositories= учитывается только для артефакта ktor-http, но не для зависимости ktor-utils. Maven пытается загрузить ktor-utils из Maven central и завершается неудачей.

Вы можете решить проблему, позвонив по номеру

mvn -Dartifact=io.ktor:ktor-utils:1.2.5 -DremoteRepositories=central::default::https://jcenter.bintray.com/  dependency:get

перед загрузкой ktor-http. Однако этот подход требует большого количества шагов ручной загрузки, и я бы не советовал.

Лучшим решением было бы добавить репозиторий Jcenter непосредственно к вашему pom:

<project>
  [...]
  <repositories>
    <repository>
      <id>jcenter</id>
      <name>jcenter</name>
      <url>https://jcenter.bintray.com</url>
    </repository>
  </repositories>
  [...]
</project>

Третий вариант - добавить репозиторий Jcenter в ваш settings.xml.

...