   (System/setProperty "jline.terminal" "dumb")
   (let [path "."
         project-map (-> (read-project-clj path)
-                        add-sdk-path
                         leiningen.core.project/init-project)]
     (case cmd
+      "run" (run-project-task path project-map)
+      "repl" (run-repl-project-task path project-map)
       "build" (build-project-task path project-map)
+      "test" (test-project-task path project-map)
       "clean" (clean-project-task path project-map)
-      "repl" (run-repl-project-task path project-map)
-      "run" (run-project-task path project-map)
-      "test" (test-project-task path project-map)
       nil))
   (System/exit 0))

                     (.getCanonicalPath jar-file))
                   args)))

(defn stop-process
  [process]
  (when @process

  [process in out path]
  (stop-process process)
  (->> (do (println (utils/get-string :running))
         (if (is-java-project? path)
           (start-process-directly process path run-project-task)
           (start-process-indirectly process path class-name "run")))
       (start-thread in out)))

(defn run-repl-project
  [process in out path]
  (stop-process process)
  (->> (do (println (utils/get-string :running_with_repl))
         (if (is-java-project? path)
           (start-process-directly process path run-repl-project-task)
           (start-process-indirectly process path class-name "repl")))
       (start-thread in out)))

(defn build-project
  [process in out path]
  (stop-process process)
  (->> (do (println (utils/get-string :building))
         (if (is-java-project? path)
           (start-process-directly process path build-project-task)
           (start-process-indirectly process path class-name "build")))
       (start-thread in out)))

(defn test-project
  [process in out path]
  (stop-process process)
  (->> (do (println (utils/get-string :testing))
         (if (is-java-project? path)
           (start-process-directly process path test-project-task)
           (start-process-indirectly process path class-name "test")))
       (start-thread in out)))

(defn clean-project
  [process in out path]
  (stop-process process)
  (->> (do (println (utils/get-string :cleaning))
         (if (is-java-project? path)
           (start-process-directly process path clean-project-task)
           (start-process-indirectly process path class-name "clean")))
       (start-thread in out)))

(defn new-project
