leiningen: пропавший суперангличанин

если я включаю eith clojure-couchdb или чванство-clojure затем lein deps сбои, потому что org.apache.maven:super-pom:jar:2.0 отсутствует

:dependencies [[org.clojure/clojure "1.1.0-master-SNAPSHOT"]
               [org.clojure/clojure-contrib "1.0-SNAPSHOT"]
               [clojure-http-client "1.0.0-SNAPSHOT"]
               [org.apache.activemq/activemq-core "5.3.0"]
;              [org.clojars.the-kenny/clojure-couchdb "0.1.3"]
;              [org.clojure/swank-clojure "1.1.0"]
              ])

эта ошибка:

  Path to dependency: 
1) org.apache.maven:super-pom:jar:2.0
2) org.clojure:swank-clojure:jar:1.1.0

----------
1 required artifact is missing.

for artifact: 
 org.apache.maven:super-pom:jar:2.0

from the specified remote repositories:  
  clojars (http://clojars.org/repo/),
  clojure-snapshots (http://build.clojure.org/snapshots),
  central (http://repo1.maven.org/maven2)

кто такой суперангличанин. почему для этих пакетов нужен он и где я могу получить его.

13
задан Arthur Ulfeldt 14 March 2010 в 23:07
поделиться

2 ответа

Я думаю, это означает, что Maven не смог удовлетворить указанные вами зависимости. Я проверил, что ни в одном из трёх репозиториев, упомянутых в вашем сообщении, нет артефакта org.clojure/swank-clojure. Что касается clojure-couchdb, то используемая вами версия - насколько я могу судить, просмотрев ее файл project.clj на GitHub - зависит от org.clojure/clojure-http-client "1.0.0-SNAPSHOT", которого также нет в репозиториях.

Один из способов обойти эту проблему - установить нужные вам банки в ваше локальное репо. (Я не могу вспомнить точную команду... поищу через минуту. См. инструкции, например, на этой странице). Затем Maven просто подхватит их оттуда.

(BTW, если вы хотите использовать Clojure + contrib 1.1.0, вы можете просто использовать "1.1.0" в качестве строки версии. Это касается как org.clojure/clojure, так и org.clojure/clojure-contrib.)

Кстати, о супер POM - из этой страницы в документации Maven:

Супер POM - это POM по умолчанию в Maven. Все POM расширяют Super POM, если это не задано явно, что означает, что конфигурация, указанная в Super POM, наследуется POM, которые вы создали для своих проектов.

Что касается того, как это попало в ваше сообщение об ошибке, я, честно говоря, понятия не имею. Вы можете добавить тег "maven" к этому вопросу или просто задать отдельный вопрос с этим тегом, чтобы привлечь к нему гуру Maven.

7
ответ дан 2 December 2019 в 01:10
поделиться

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

Мое решение - зайти на http://clojars.org и найти нужную мне библиотеку. Обычно существует несколько версий. Я провожу небольшое исследование http://github.com , чтобы узнать, какой из них наиболее актуален. Затем я пробую это как зависимость. Если это сработает - отлично! В противном случае я пробую другой.

Это долгий процесс, но я думаю, что он улучшается. Вы должны были видеть этот процесс раньше!

2
ответ дан 2 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: