leiningen: отсутствует супер-помпа - PullRequest
13 голосов
/ 15 марта 2010

если я включу eith clojure-couchdb или swank-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)

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

Ответы [ 6 ]

7 голосов
/ 15 марта 2010

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

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

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

О, а про супер ПОМ - с этой страницы в документах Maven:

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

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

2 голосов
/ 23 марта 2010

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

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

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

1 голос
/ 17 сентября 2010

Я случайно загрузил swank-clojure в группу org.clojure около года назад. Я удалил его вскоре после того, как я не связан с этой группой, поэтому его нельзя найти. Могу ли я спросить, где вы нашли инструкции с ошибочной версией, чтобы ее можно было исправить?

1 голос
/ 16 сентября 2010

Я получаю ту же ошибку в зависимости от супер-помпа maven, и когда я делаю

$ sudo lein deps

Работает без ошибок. Не идеальное решение, но оно работает для меня.

0 голосов
/ 20 апреля 2011

С Ubuntu 10.10 x86_64, с lein deps, меня раздражает ... 5 обязательных артефактов отсутствуют.

для артефакта:

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

... но команды

sudo LEIN_ROOT=1 ~/bin/lein deps;
sudo chown -R $USER:$USER lib 

сделай работу.

0 голосов
/ 10 февраля 2011

У меня была похожая проблема с lein-ring, вызывающая сбой в зависимости от org.apache.maven:super-pom. Оказывается, проблема была в том, что M2_HOME была установлена ​​на версию Maven, которую я использую для работы. Отключение M2_HOME исправило проблему. Похоже, что leiningen не очень подходит для странных реализаций Maven.

...