我有一个用于离线clojure项目的使用案例。我想包含一个捆绑的依赖项(在这种情况下,我将Oz修改为离线版本以避免获取js依赖项)。结果是包含Oz要求的所有内容的uberjar。我想通过clj CLI工具对其进行操作。我遵循了指南的说明,并有一个与uberjar协同定位的最小deps.edn
{:deps {metasoarous/oz {:local/root "./oz.jar"}}}
据我所知,这应该等同于(大致上)调用
java -cp oz.jar clojure.main
没有对deps.edn进行任何额外的更改,然后启动clj将尝试解析依赖关系(例如,对于clojurescript),而这正是我不想要的(事实上,由于网络设置,它们将失败)。
是否有任何建议的方法来仅将uberjar视为一个哑本地依赖项,而不涉及更高级的依赖关系解析机制?我想利用deps.edn中的选项(例如,设置源路径等),只需在uber.jar中预先加载大量库即可(可能是我所需的所有依赖项)。
另一个选项(我想可能是)将其安装到本地的.m2中,并将其视为maven坐标,这应该(希望)防止clj尝试在线嗅探依赖关系。
我希望能够使本地jar方法工作。