Не удалось найти пространство имен на пути к классам с помощью leiningen

Меня очень смущает эта, казалось бы, простая ошибка:

Возникло исключение: java.io.FileNotFoundException (Не удалось найти utils/HelperFunctions__init.class или utils/HelperFunctions.clj в classpath.)

Моя файловая структура как таковая

data/
priors/
src/
  project.clj
  utils/HelperFunctions.clj

и мой project.clj файл выглядит так:

(defproject test "0.1.0-SNAPSHOT"
  :description "For test"
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [nstools "0.2.4"]
                 [org.clojure/data.csv "0.1.3"]
                 [org.clojure/math.combinatorics "0.1.3"]]
  :plugins [[lein-gorilla "0.4.0"]]
  :resource-paths ["../priors"
                   "../data"
                   "utils/"])

В моем тестовом файле я пытаюсь загрузить utils.HelperFunctions вот так

(ns test
  (:use clojure.repl
        [utils HelperFunctions]))

сам файл настроен как

(ns utils.HelperFunctions
  (:use clojure.java.io)
  (:require clojure.string
            [clojure.core.matrix :as m]
            [clojure.data.csv :as csv]))

Это должно быть довольно простой? Это может быть связано с другой ошибкой, которую я получаю при создании uberjar:

Предупреждение: указанный основной класс не существует в банке. Возможно, он не исполняется должным образом. Директива gen-class может отсутствовать в пространстве имен, которое содержит основной метод, или пространство имен не было скомпилировано AOT.

Не уверен, что это значит, хотя.

0 ответов

Другие вопросы по тегам