【发布时间】:2014-04-12 22:50:27
【问题描述】:
我正在努力解决以下错误:
Exception in thread "main" java.io.FileNotFoundException: Could not locate composer/midi/short_message__init.class or composer/midi/short_message.clj on classpath: , compiling:(events.clj:12:1)
对short-message的引用在events.clj的命名空间声明中:
(ns composer.ui.events
(:use [seesaw core border chooser])
(:require [composer.midi
[io :as io]
[time :as time]
[player :as player]
[short-message :as short]]))
这是short-message本身在short-message.clj中的命名空间声明:
(ns composer.midi.short-message
(:require [composer.algorithm.transform :refer :all]
[composer.algorithm.markov.transform :refer :all]
[composer.midi [io :refer :all] [message :as message]]))
short-message 与composer.midi 中的所有其他文件位于同一目录中,但这似乎是唯一导致问题的文件。事实上,在我的项目中验证了target 目录之后,这是唯一一个似乎不包含相应类文件的命名空间。我认为这可能是代码错误,但如果我尝试在 REPL 中使用 (load-file "src/composer/midi/short-message.clj") 加载文件,我没有任何问题。
【问题讨论】:
-
人力资源部。
short-message.clj似乎不是有效的文件名。将其更改为short_message似乎已经成功了……很奇怪。
标签: clojure compilation namespaces