2010-08-12 2 views
5

Я написал проект Clojure с использованием Leiningen и теперь хотел бы добавить полученную банку к серверу Sonatype Nexus. Я установил lein-clojars, так как он поставляется с командой push, которая, кажется, принимает необязательный аргумент repo, если вы хотите нажать где-нибудь, кроме Clojars. Однако всякий раз, когда я пытаюсь это сделать, я получаю JSchException: Auth fail. Кажется, это указывает на то, что есть проблема аутентификации.Push to Nexus Использование Leiningen

Я могу scp jar для Nexus, и я также могу использовать этот же settings.xml с Maven для загрузки на эту машину, поэтому я уверен, что они оба правильные.

Есть ли хороший способ использовать Leiningen для перемещения в другие хранилища? Или это действительно построено только для Кложаров?

ответ

3

Соответствующий обмен электронными письмами произошел недавно в группе Leiningen Google; см. this message Филом Хагельбергом для ответа.

Короче говоря, по-видимому, невозможно использовать ключи DSA на JVM. Я не уверен, если/как Maven найдет возможным справиться с этим, но, во всяком случае, lein-clojars этого не делает. Таким образом, вы должны просто придерживаться scp.

(Кстати, это также означает, что lein-clojars на самом деле не рекомендуется для работы с Clojars либо. Кроме того, я уверен, что я пропускаю какую-то часть картины, так как, видимо, это используется для работы с Clojars Единственное, на что я уверен, - это то, что Лейнинген не будет очень помогать в том, чтобы подталкивать защищенные репозитории в это время и что сообщение, которое я связал с ним, как можно ближе к авторитетному объяснению, почему это так.)

+0

Интересный. Я мог бы поклясться, что использовал лейн-клоары, чтобы подтолкнуть Кложар, но, возможно, я использовал scp. Тем не менее, спасибо за ответ; мне было почти невозможно найти что-то в Интернете об этом. –

+0

Да, я был под впечатлением, что люди * на самом деле каким-то образом умеют использовать лейн-клояры, но теперь это кажется неподдерживаемым, и, как говорит Фил, использование scp достаточно просто ... –

+2

Другой способ сделать это состоит в том, чтобы hudson опросил ваш SCM и автоматически развернул его собственный ретранслятор mvn. Таким образом, вы получаете автоматическое тестирование, брошенное бесплатно. Я надеюсь скоро документировать этот процесс; это не слишком сложно, и наличие hudson-сервера очень удобно. – technomancy

3

Если вы нажимаете на реальный репозиторий Maven, вам, вероятно, лучше использовать Maven для развертывания. Там хороший Clojure плагин: http://github.com/talios/clojure-maven-plugin

Смежные вопросы