Leiningen не разрешает мои зависимости

#clojure #leiningen

#clojure #leiningen

Вопрос:

Я хочу перевести зависимость Maven в Leiningen:

 <dependency>
    <groupId>com.google.api.client</groupId>
    <artifactId>google-api-client-parent</artifactId>
    <version>1.4.1-beta</version>
</dependency>
  

Я пытался:

 (defproject gdata2 "1.0.0-SNAPSHOT"
  :description "FIXME: write"
  :dependencies [[org.clojure/clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]
                 [com.google.api.client/google-api-client-parent "1.4.1-beta"]])
  

Однако это не работает, поскольку в центральном репозитории Maven нет jar, только родительский pom. Leiningen пытается найти google-api-client-parent-1.4.1-beta.jar и сбой.

Как мне сказать Leiningen, чтобы он просто посмотрел на pom и разрешил переходные зависимости?

Редактировать 12 мая

Похоже, что нужного мне кода нет в стандартных репозиториях Maven. Я должен добавить эквивалент Leiningen для:

 <repository>
  <id>google-api-services</id>
  <url>http://mavenrepo.google-api-java-client.googlecode.com/hg</url>
</repository>
  

И добавить google-api-services-tasks-1.0.0-beta.jar к зависимостям, и тогда это, вероятно, сработает. Проверю и закрою этот вопрос, когда вернусь с работы 🙂

Ответ №1:

Этот проект POM не определяет никакой зависимости, просто dependencyManagement раздел. Вероятно, вы хотите зависеть от реальных библиотек (например, JARs), которые, в свою очередь, отображают все дерево зависимостей при решении вашей проблемы.

Комментарии:

1. Я попробовал использовать google-api-client, у которого есть jar и который подключает некоторые, но не все зависимости. Я ищу jar, в котором есть классы для новой библиотеки задач Google ( javadoc.google-api-java-client.googlecode.com/hg/apis/tasks / … )

2. не похоже, что пока доступен какой-либо артефакт, я проверил как релизы , так и репозитории с снимками , которые они используют. Нет задач Google.

3. Артефакт доступен. Смотрите ссылку (после редактирования от 12 мая) в исходном вопросе.

4. вы правы, я просто посмотрел на distributionManagement раздел родительского файла и предположил, что знаю подходящее место для просмотра 🙂