[英]Error building clojure project with lein
我對clojure一點都不熟悉,而且我有一個我正在嘗試構建的項目的源代碼。 該項目有一個project.clj文件,谷歌說這意味着我應該使用lein構建工具。 然而:
$ lein compile #lein jar does the same thing
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: Could not locate testui/core__init.class oCompiling testui.core
r testui/core.clj on classpath
我懷疑project.clj可能會被破壞。 core.clj位於src / com / foodient / semanticanalysis / testui中,project.clj如下所示:
(defproject testui "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.3.0"]
[org.apache.poi/poi "3.8-beta4"]
[gate-clj "1.0.0"]]
:aot [testui.core]
:main testui.core
:run-aliases {:test testui.core/-main})
有任何想法嗎?
如果你設置了一個lein項目並且名字中包含了Clojuristic破折號,比如bene-csv(我的一個),那么lein new bene-csv會創建幾個目錄和./bene-csv/project.clj
。 我的core.clj位於./bene-csv/src/bene_csv/core.clj
。 請注意,破折號在bene_csv
中刪除,以支持下划線。
至於你的問題,很可能core.clj不在lein預期的地方,應該是./testui/src/testui/core.clj
。 我希望這有幫助。
我認為問題是core.clj不在正確的目錄中。 它應該在src / testui目錄中。
我的猜測是你應該改變你的代碼的引用
testui.core
至
com.foodient.semanticanalysis.testui.core
原因是最后一個點之前的命名空間部分對應於一個包名(該術語來自java和jvm)
您表明您的來源是:
src/com/foodient/semanticanalysis/testui
所以包名是com.foodient.semanticanalysis.testui
您可能還應該更新clojure源文件中的命名空間聲明以匹配此約定(或將源移動到src/testui
)。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.