Вопрос

если я включу либо 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)

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

Это было полезно?

Решение

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

Один из способов решения этой проблемы — установить нужные jar-файлы в локальный репозиторий.(Я не могу вспомнить точную команду...посмотрю через минуту. См., например. эта страница инструкции.) Тогда 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.

Другие советы

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

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

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

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

$ sudo lein deps

Он работает без ошибок.Не идеальное решение, но мне подходит.

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

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

С 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 

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top