我在Clojure中有一个隔离项目假设这三个项目是相互依赖的。
答案 0 :(得分:2)
听起来你需要使用lein-checkouts
。这是a detailed description。另请参阅the documentation。
基本上,您在项目目录的顶层(checkouts
旁边)创建了一个名为project.clj
的目录。在checkouts
内,为所有依赖项目创建指向本地顶级目录的符号链接。
例如,我有一个项目car
,取决于其他两个项目,engine
和wheel
。我像这样构建项目:
> d car/checkouts/*
lrwxrwxrwx 1 alan alan 17 Jun 6 21:40 car/checkouts/engine -> /home/alan/engine
lrwxrwxrwx 1 alan alan 17 Jun 6 21:40 car/checkouts/wheel -> /home/alan/wheel
更新1: 使用ln -s
命令在linux中创建符号链接(也称为符号链接):
> cd car
> ln -s /home/alan/wheel
> ls -ldF wheel
lrwxrwxrwx 1 alan alan 17 Jun 6 21:40 wheel -> /home/alan/wheel
现在,项目car
会看到engine
和wheel
项目的文件的任何本地修改(当然还有自己的源文件)。
更新2
对于jar文件依赖项,您需要在project.clj
文件中使用 :resource-paths 。请参阅this question.和this example。