检查 Clojurescript jar 文件是否正常工作

Check that a Clojurescript jar file is working

我有一些 Clojurescript 源文件可以在计时器上将消息输出到浏览器控制台。最终我想从这些文件中创建一个 Clojars 库。到目前为止,我已经使用 lein 创建了一个 uberjar。该库的所有用户需要做的就是 :require 来自库的命名空间,并且应该将消息发送到浏览器控制台。看到这些消息就是我要执行的 "all working fine" 测试。

换句话说,我如何检查我创建的 jar 文件是否有效?我可以从一个新的 lein 项目开始,然后将 jar 文件放在一些特殊的 'un-managed' 目录和 :require 命名空间中吗?其实我不认为你可以用lein做这样的事情,所以才有这个问题。

假设您有一个 project.clj 文件已经包含行

(defproject bigco/biglib "0.1.0-SNAPSHOT”
...

运行

lein install

这将构建 JAR 并将其安装到您的本地 Maven 存储库中。

然后在您的新项目中,添加该依赖项并运行它。

如果您的 jar(jar 的定义当然包括 uberjar)不是完全来自 lein 项目,那么另一种方法是直接使用 Maven 2:

mvn install:install-file -Dfile=./my-deps.jar -DgroupId=my-deps -DartifactId=my-deps -Dversion=1.0.0 -Dpackaging=jar

此处 mvn 会将 jar 存储在本地 .m2 maven 存储库中。存储后,您可以在您机器上的任何 lein 项目中使用此 jar,方法是在依赖项部分中引用它:

[my-deps "1.0.0"]

Maven documentation 为此。