Han*_*-J. 62
只需在project.clj文件中使用:resource-paths.我用它,例如连接到Siebel服务器.刚刚在我的项目目录中创建了一个资源目录,并在那里复制了jar文件.但是当然你可以使用更通用的目录:
(defproject test-project "0.1.0-SNAPSHOT"
:description "Blah blah blah"
...
:resource-paths ["resources/Siebel.jar" "resources/SiebelJI_enu.jar"])
然后从lein repl我可以创建Siebel数据Bean实例,例如
(def sbl (com.siebel.data.SiebelDataBean.))
(.login sbl "siebelServer" "user" "password")
...
如果你有一个较新的Java版本,你当然可以在你的路径规范中使用通配符,这样更通用的目录:
:resource-paths ["/tmp/SiebelJars/*"]
Jan*_*sen 48
在项目中创建一个目录:
mkdir maven_repository
将本地jar添加到此存储库:
例如,此命令将jaad-0.8.3.jar文件添加到maven存储库:
mvn deploy:deploy-file -Dfile=jaad-0.8.3.jar -DartifactId=jaad -Dversion=0.8.3 -DgroupId=jaad -Dpackaging=jar -Durl=file:maven_repository
添加以下内容 project.clj
:repositories {"local" "file:maven_repository"}
现在常规lein deps应该工作:
$ lein deps
Downloading: jaad/jaad/0.8.3/jaad-0.8.3.pom from local
Transferring 0K from local
[WARNING] *** CHECKSUM FAILED - Error retrieving checksum file for jaad/jaad/0.8.3/jaad-0.8.3.pom - IGNORING
警告可以忽略,因为jar将被检入项目而不是从互联网上下载.
原始来源:使用Leiningen的本地JAR(自复制后更改)
Mic*_*zyk 36
你可以放入你的私人罐子lib/,他们会出于lein swank类似的目的而在类路径上; 这似乎打败了使用依赖管理工具的重点,但如果你实际上并不想要管理这些依赖项,你可以将Leiningen视为"开源依赖管理工具",也许要小心lein clean.
随着形势变得更加复杂 - 有涉及私人罐的数量较多,它们进化,你需要采取一些版本的信息对他们的考虑 - 创建私有Maven的回购可能是更合适的亚瑟的想法.
(人力资源表示Leiningen特定部分的分界点以下......继续对一般的构建/依赖管理工具的故事Clojure中的土地,包括一些链接,我觉得能来在你的处境非常方便的信息.)
此外,到目前为止,关于哪个是Clojure的最佳构建工具的问题还没有达成普遍共识,而Leiningen虽然获得了大家的关注,但也在不断获得领域特征和润色 - 特别是,它尚未完成.以下是Pragmatic Bookshelf的"Programming Clojure"的作者Stuart Halloway的引用:"我的2c:Leiningen是重要的一步,但仍有很多工作要做." 对于完整的发布和一个非常有趣的讨论:在Clojure空间中构建工具等,请参阅Leiningen,Clojure和图书馆:我缺少什么?Clojure Google小组的主题.许多参与者特别提到需要将本地依赖项包含在本地或其他任何存储库中,并详细说明他们为此类方案提出的解决方案.也许你可以看到那里有什么东西可以解决你现在的问题/将来可能解决它,当功能集成熟时?
无论如何,Leiningen可能实际上还没有为一些复杂的场景准备好故事.如果您认为这可能适用于您的情况(我的意思是在您考虑私人回购的想法之后),这里有一些链接到基于maven的替代品,取自上面提到的线程:polyglot maven,clojure-maven-plugin ; 这篇博文旨在对试图与Clojure使用maven的人有用.我记得,Meikel Brandmeyer(也所以在他的kotarak的在线处理)使用摇篮(一个Groovy构建系统)用的插件,以适应Clojure的所谓Clojuresque; 我从来没有尝试过自己,因为不知道关于Groovy的第一件事情,但他声称用它运行一个非常漂亮的建筑行为,我相信它有没有关系行家-这是在其本身加分对于我们中的一些人 :-)
小智 30
我发现lein pom; lein jar; lein install在开发库时效果很好.
在正在开发的库中执行此操作,并且您需要它的应用程序将使用它而不:repositories需要任何foo.
或者,lein do pom, jar, install稍微简洁一些.
这允许像任何其他库那样调用库 :dependencies [[project-name "version"]]
Art*_*ldt 14
我相信"正确"的方法是创建一个私有Maven存储库,以便您可以将jar存储在一个位置,所有分支等都将获取更改.对于你的所作所为,这可能有点过头了.我很好奇这些是否更容易.