Tag: leiningen

在与Leiningen的Java之间夹着Clojure

对于一个类,我需要编写一些JVM代码,我希望使用Clojure。 我得到它与软件堆栈的底部部分一起工作,但我无法让它在位于顶部和底部的GUI层之间工作。 我的主要问题是让Java GUI识别我的Clojure文件。 我想使用Leiningen,但Java编译解决方案似乎并没有解释这种互操作。 这里的答案似乎正是我所需要的。 我不明白在哪里放置代码等(仅仅是不够详细)。 有人有任何提示吗? 我尝试制作一个插件 ,但它似乎不起作用。 我知道我的案例肯定是在问题的边缘,但一个解决方案将使Clojure在教室环境中更容易使用。 谢谢! 更多细节: 使用已编译的Clojure jar我没有太多运气。 我需要创建一个(ugh)有状态的Clojure类(即方法不能是静态的)。 我的类的代码(src / final_project / MyLinkLayer.clj)看起来像 (ns final_project.MyLinkLayer (:gen-class)) (defn -init[s] (print s)) (defn -send [dest data len] (println data)) (defn -recv [trans] (println trans)) (defn -status [] (println “I am a status!”)) (defn -command [cmd value] (println (str cmd […]

使用Clojure库捆绑本机JNI共享库

我正在为clojure编写一个涉及本机代码的库。 当我将clojure库部署到公共存储库(如clojars)时,如何捆绑共享库(也称为本机依赖项)? 更多信息: 我的项目结构大致如下: src/ native/ – C code , C Object files and compiled shared libs java/ – Java stuff clojure/ – Clojure stuff 我目前正在使用leineingen。 我试过做: :jvm-opts [~(str “-Djava.library.path=src/native/:” (System/getenv “$LD_LIBRARY_PATH”))] 如果我在项目中,它可以工作。 但是,如果我将此项目作为依赖项包含在内,我将收到UnsatisfiedLink错误。

与Leiningen一起部署Clojure应用程序

到目前为止,这是我的project.clj文件: (defproject raj “0.0.1-SNAPSHOT” :description “FIXME: write description” :dependencies [[org.clojure/clojure “1.3.0”]] :keep-non-project-classes true :main raj.core) 还有我的core.clj文件: (ns raj.core (:use raj.core)) (defn -main [& args] (println “Hello World!!!”)) lein run -m raj.core显示Hello World消息就好了。 接下来我尝试lein uberjar并得到 Compiling raj.core Compilation succeeded. Created C:\Users\bobjones\IdeaProjects\raj/raj-0.0.1-SNAPSHOT.jar Including raj-0.0.1-SNAPSHOT.jar Including clojure-1.3.0.jar Created C:\Users\bobjones\IdeaProjects\raj/raj-0.0.1-SNAPSHOT-standalone.jar 到目前为止一切似乎都很顺利,所以我尝试了java -jar raj-0.0.1-SNAPSHOT-standalone.jar ,我收到了 Error: Could not find or […]