我有一个类似于把第三方罐子部署到地窖里?的问题
我使用lein deploy将一个小项目推入了地窖。该项目依赖于jar依赖关系,我只是将其放在本地驱动器上的一个文件夹中并导入到我的:resource-paths中,如下所示:
(defproject cljblpapiwrapper "0.1.0-SNAPSHOT"
:description ""
:url ""
:license {:name "" :url ""}
:dependencies [[org.clojure/clojure "1.9.0"]]
:resource-paths ["resources/blpapi-3.8.8-2.jar"]
:repl-options {:init-ns cljblpapiwrapper.core})现在,在另一个项目中导入我已部署的clojars之后,它就无法在jar回购中找到类。我在查到这个痕迹:
#error {
:cause com.bloomberglp.blpapi.CorrelationID
:via
[{:type clojure.lang.Compiler$CompilerException
:message java.lang.ClassNotFoundException: com.bloomberglp.blpapi.CorrelationID, compiling:(cljblpapiwrapper/core.clj:6:1)
:at [clojure.lang.Compiler load Compiler.java 7526]}
{:type java.lang.ClassNotFoundException
:message com.bloomberglp.blpapi.CorrelationID
:at [java.net.URLClassLoader findClass URLClassLoader.java 382]}]
:trace
[[java.net.URLClassLoader findClass URLClassLoader.java 382]
[clojure.lang.DynamicClassLoader findClass DynamicClassLoader.java 69]
[java.lang.ClassLoader loadClass ClassLoader.java 424]
[clojure.lang.DynamicClassLoader loadClass DynamicClassLoader.java 77]
[java.lang.ClassLoader loadClass ClassLoader.java 357]
...在我看来,这个罐子没能装进垃圾桶--我怎么能把它装进我的回购箱里呢?或者,我如何把它分别推到地窖里呢?
谢谢,
发布于 2019-01-25 09:02:07
你试过从地窖下载你的库吗?使用jar命令解压缩*.jar文件,并查看库是否存在。
看看这个回购:https://github.com/cloojure/tupelo-datomic
在./resources dir中有一个jar文件:datomic-free-0.9.5661-everything.jar
您可能需要使用project.clj中的语法来使clojars上的uberjar表单正确。您可能需要在单独的与maven兼容的repo上发布依赖JAR文件。备选方案包括:
发布于 2019-01-25 15:22:27
我认为您需要将jar绑定为project.clj中的依赖项,资源路径告诉uber只包含该文件。
https://stackoverflow.com/questions/54353619
复制相似问题