2013-02-17 30 views
2

我使用Emacs和nrepl.el進行Clojure開發,並且希望在類路徑中包含JAR文件(Leiningen/Maven中沒有的專有JDBC驅動程序),以供在REPL中播放。是否可以將特定的JAR添加到nrepl服務器使用的Clojure類路徑中?

我無意將此JAR作爲項目的一部分發布。我只是編寫一些實用函數供我自己使用,所以我寧願不要使它與Leiningen/Maven一起工作,只是堅持使用類路徑。

是否可以手動添加一個罐子到nrepl-jack-in使用的一組依賴關係?

+0

我認爲你可以將它添加到你的project.clj中,但我會等待有更多知識的人來回答這個問題。 – octopusgrabbus 2013-02-17 20:15:26

回答

2

這是可能的,但不能通過nrepl.el,因爲它將類路徑管理卸載到Leiningen。

您可以使用mvn deploy:deploy-file將JAR文件部署到本地Maven存儲庫中。之後,只需將標識符添加到:project.clj中的依賴關係中,然後Leiningen就可以很好地檢測它。

如果這看起來像是太多的手動工作,請查看lein-localrepo插件:https://github.com/kumarshantanu/lein-localrepo

請注意,每個對您的項目有貢獻的人都需要手動執行此操作。請參閱https://github.com/technomancy/leiningen/wiki/Repeatability進一步討論爲什麼這樣做往往是一個壞主意,並違背了Leiningen穀物。如果你在一個團隊中工作,從長遠來看,建立一個私人存儲庫是最好的解決方案。

+0

maven deploy插件是嚴格意義上部署到遠程repo的,參見http://maven.apache.org/plugins/maven-deploy-plugin/,你想要''mvn install:install-file''安裝在本地回購 – sw1nn 2013-02-18 10:18:51

+0

'mvn install:install-file'(據我所知)不會自動將校驗和文件添加到存儲庫,但當然,您也可以使用它。您只需手動添加這些校驗和。請參閱原始討論:https://groups.google.com/forum/#!topic/leiningen/yMTvQZr9Vdg/discussion – eagleflo 2013-02-18 12:22:28

+0

原因可能是'mvn install -DcreateChecksum = true'。 – eagleflo 2013-02-18 12:28:59

相關問題