2016-02-09 3 views
1

Я пытаюсь выполнить свой первый пробег с кольцом и лейн, и у меня возникают проблемы с его запуском. Я привел этот пример из книги «Веб-разработка с Clojure», глава 1, а также от https://quickleft.com/blog/your-first-clojure-web-app/. Код с обоих этих сайтов дает мне ту же ошибку - Class Not Found.не может управлять кольцом с lein

У меня есть следующий project.clj

(defproject myfirstwebapp "0.1.1" 
    :description "A hello world for a Ring based web app" 
    :dependencies [[org.clojure/clojure "1.8.0"] 
      [ring "1.4.0"]] 
    :plugins [[lein-ring "0.9.7"]] 
    :dev-dependencies [[lein-ring "0.9.7"]] 
    :ring {:handler myfirstwebapp.core/app}) 

И следующий core.clj

(ns myfirstwebapp.core) 
(defn app [req] 
    {:status 200 
    :headers {"content-Type" "text/html"} 
    :body "Hello World!"}) 

И команды я побежал были:

lein new myfirstwebapp 
edit project.clj as above 
cd myfirstwebapp 
lein deps 
edit src/myfirstwebapp/core.clj as above 
lein ring server 

И теперь я получение ошибок:

Исключение в потоке "основной" java.lang.ClassNotFoundException: leiningen.core.project $ reduce_repo_step, компиляции: (C: \ Users \ ROG \ форм-init7789757414629005682.clj: 1: 17608)

Есть некоторые несоответствия между версии различных компонентов, которые я использую? Или что-то другое?

+0

Первоначально я подозревал, что это может быть проблема локального экрана на моих окнах-7. Поэтому я включил его, используя предложение stackoverflow/24340450. Но я все еще получаю класс не найденной ошибки. – R71

+0

какая версия лейна вы используете? – DanLebrero

+0

lein 2.6.0. Кроме того, я подозревал, что, возможно, моя Java не совместима, поэтому я перешел с java6 на java7u79. Такая же ошибка. – R71

ответ

1

Это bug in lein 2.6.0. Исправлено в 2.6.1

+0

Спасибо dAni. Я обновил лейн и теперь он работает. – R71

+0

У меня есть еще один вопрос о запуске веб-сервера из lein: как остановить процесс? Я сделал ctrl-c, но потом я не могу запустить снова, если я не перезагружу систему. – R71

+0

Это проблема с Windows. Lein по умолчанию запускает 2 JVM, а в Windows^c просто убивает главный, оставляя JVM, который запускает сервер. У меня больше нет Windows, но попробуйте запустить «lein trampoline ring server». Это должно запустить только одну JVM. не работает, вам нужно будет найти процесс «java» в администраторе процесса и вручную убейте его – DanLebrero