Leiningen 1.3 Обновление Плагин Classpath - PullRequest
2 голосов
/ 30 сентября 2011

У меня есть плагин, который использовал командную строку из contrib со следующим в ns,

(:use  [leiningen.compile :only [eval-in-project]]
       [clojure.contrib command-line logging])

, который работал, я полагаю, так как leiningen также использует clojure и contrib он автоматически включенего classpath с новой структурой contrib выше становится

(:use  [leiningen.compile :only [eval-in-project]]
       [clojure.tools cli logging])

кажется, что leiningen не включает jar-файлы из lib / в свой путь к классам, и это не помогает, есть ли обходной путь, такой?

1 Ответ

0 голосов
/ 28 апреля 2012

правый. Если вы не используете eval-in-project, ваш код выполняется в пути к классам Leiningen. Таким образом, любой код на пути к классам lein доступен для вашего проекта. Это, однако, не.

Является ли код, который использует cli и logging внутри вызова eval-in-project? Если это так, эти jar-файлы должны быть зависимыми от проектов, в которых вы вызываете плагин, и вызов use должен быть передан в eval-in-project (см. Документацию по eval-in-project для получения дополнительной информации).

Если код, который использует cli и logging, не находится внутри вызова eval-in-project, вы можете добавить эти зависимости в ваш проект плагина, и он должен просто работать. Если вы попытаетесь протестировать плагин внутри самого проекта плагина, вам нужно добавить :eval-in-leiningen true в ваш project.clj.

Если это не поможет, пожалуйста, добавьте ваш вопрос с более подробной информацией / кодом.

...