2016-02-05 2 views
2

Я пытаюсь изучить clojure, но большинство учебных пособий и пример кода, которые я смотрю на все, не могут работать для меня.ClassNotFoundException пытается запустить «lein run server-headless» для любого проекта

Всякий раз, когда я пытаюсь запустить кольцо приложения с «LEIN кольцом сервера обезглавленным», он загружает всю зависимость, а затем умирает с большим StackTrace, так как он не может найти leiningen.core.project $ reduce_repo_step:

Exception in thread "main" java.lang.ClassNotFoundException: leiningen.core.project$reduce_repo_step, compiling:(/tmp/form-init4519196078572752752.clj:1) 
at clojure.lang.Compiler.load(Compiler.java:6958) 
at clojure.lang.Compiler.loadFile(Compiler.java:6912) 
at clojure.main$load_script.invoke(main.clj:283) 
at clojure.main$init_opt.invoke(main.clj:288) 
at clojure.main$initialize.invoke(main.clj:316) 
at clojure.main$null_opt.invoke(main.clj:349) 

Примеры кода, где это происходит, являются образцы/учебники в https://github.com/kendru/restful-clojure и https://github.com/diamondap/ring-sample

что-то случилось с моим Leiningen/Clojure местные настройки? Я использую leiningen 2.6.0 на linux mint.

+0

начать ли проект, если вы запустите Lein РЕПЛ? – Bill

+2

Да, да. Оказывается, что понижение до уровня 2.5.3 фиксировало проблему. Это просто ошибка между лейн-кольцом и лейн? –

ответ

2

Уроки, которые вы указали, похоже, используются в старых версиях ring -1.2.1 и 1.1.0. Я заметил, что если вы сделаете новый проект LUMINUS:

lein new luminus guestbook +h2 

вы в конечном итоге с ring версии 1.4.0. Вы можете рассмотреть возможность использования более современного учебника. Я использовал the official Luminus tutorial.

+0

Это может быть правдой, но если она изначально запускалась с этими версиями для авторов учебников, разве это не нужно запускать сейчас? (разве это не пункт определения версий библиотек, так что у вас есть набор библиотек известных для работы, даже если более поздние версии не поддерживают обратную совместимость?) Или это не так в мире clojure? –

+1

Я согласен, что этого не должно произойти. Я определенно пытался дать прагматичный ответ, а не идеалистический ответ :) – Noah

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