问题标签 [leiningen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 环境变量 CLASSPATH <> Clojure 的 CLASSPATH。为什么?
这里我检查环境变量 CLASSPATH
daniel@daniel-laptop:~/ps/clojure/projects/ring-tutorial$ echo $CLASSPATH
/home/daniel/ps/clojure/projects/ring-tutorial/src
在这里,我检查 java 认为它是什么。
daniel@daniel-laptop:~/ps/clojure/projects/ring-tutorial$ lein repl
Clojure 1.1.0 user=> (System/getProperty "java.class.path")
"src/:classes/:/home/daniel /.m2/repository/leiningen/leiningen/1.1.0/leiningen-1.1.0-standalone.jar:lib/clojure-1.1.0.jar:lib/servlet-api-2.5-6.1.14.jar:lib/ commons-io-1.4.jar:lib/clj-stacktrace-0.1.0.jar:lib/clojure-contrib-1.1.0.jar:lib/ring-devel-0.2.0.jar:lib/jetty-util- 6.1.14.jar:lib/clj-html-0.1.0.jar:lib/ring-jetty-adapter-0.2.0.jar:lib/jetty-6.1.14.jar:lib/ring-core-0.2。 0.jar:lib/commons-fileupload-1.2.1.jar:lib/ring-servlet-0.2.0.jar:lib/commons-codec-1.4.jar:"
如您所见,这两种反应完全不同。我很确定我一定是误解了我应该在哪里编辑 CLASSPATH 变量以供 java 以“获取它”,除了我发现的所有内容都表明这应该有效。那么有什么关系呢?leiningen 是否产生了它自己奇怪的 clojure 叛徒实例?我在编辑一个完全不相关的变量吗?非常感谢任何帮助。
jar - 'lein jar' 和 'lein uberjar' 没有正确设置主类
我lein uberjar
在我的项目上运行,它创建了相应的 jar 文件。当我运行罐子时,ClassNotFoundException: explodingdots.core
会抛出一个。我指定explodingdot.core
为我的主要课程。我解压了jar文件,对应的目录下确实没有core.class
。我忘记了什么?
我有以下代码src/explodingdots/core.clj
我的内容project.clj
是:
注意:我使用的是 leiningen 1.3.1
testing - 如何在 clojure 中使用自己命名空间之外的类型?
我有一个名为 techne 的 leiningen 项目。我创建了一个名为 Scrub 的模块,其中有一个名为 Scrub 的类型和一个名为 foo 的函数。
技术/scrub.clj:
技术/scrub_test.clj:
当我运行测试时,我收到错误:
如果我删除测试擦洗一切正常。为什么 :use techne.scrub “导入”函数定义而不是类型定义?如何引用类型定义?
clojure - 使用 Leiningen 的 JVM 选项
如何设置 JVM 选项,例如-server
使用 Leiningen 启动 Clojure 时?
clojure - 在 Incanter 中生成随机数
如何在 incanter 的 Parallel Colt 中使用随机数生成器?
我在我的 project.clj 文件中列出了这些依赖项:
然后我尝试(import cern.jet.random.tdouble Normal)
了,我得到了一个class java.lang.ClassNotFoundException
.
我在这里做错了什么?
clojure - clojure lein (read-line) 标准输入问题
所以常规的 clojure repl 工作正常,(read-line)
收集输入,然后回显它。使用lein repl
虽然,从不回显任何输入字符,也不允许我从任何标准输入读取命令返回。
我确定它与重新绑定有关,但想知道是否有解决方法/修复?
谢谢。
clojure - 蛋糕和莱宁根有什么区别?
蛋糕和莱宁根有什么区别?
unit-testing - 在莱宁根进行测试
我正在使用具有以下目录结构的 leiningen 编写一个小型 Clojure 项目:
当我运行时lein test
,它报告它运行了 0 次测试,失败了 0 次,但我故意在 test/.../core.clj 文件中放置了一个旨在失败的测试。
我将该行添加:test-path test
到我的project.clj
文件中,当我重新运行时,出现错误:
我正在运行 Clojure 1.2 和最新的 lein (1.3.1)。
看起来像是 clojure.core 或 lein 代码的问题。
clojure - 如何最小化 leiningen (Clojure) 中的 AOT 编译
当您使用 leiningen 创建 Clojure 项目时,所有 *.clj 文件都被编译为 AOT。通常不需要 AOT 编译,我想尽量减少它。
这对于我提高对 Clojure 作为 Java 主导环境中的补充的接受度是必要的。将单个类文件作为胶水与几个 kB clj 文件一起“出售”更容易,而不是拥有 250+ kB 类文件,名称奇怪并隐藏在其中一个小 clj 文件(这是'甚至在执行期间不再阅读)。
理想情况下,“lein compile”的结果将只有一个小类文件(连同 clj-files 和 clojure-library)实现所需的类实例。
实现这一目标的最简单方法是什么?我宁愿不写一行Java(当然)。
技术人员反馈后更新
我不怀疑这是一个 leiningen 问题。让我用一个例子来解释我所追求的。请原谅示例的长度。我正在使用 leiningen 1.3.1,但我认为 1.4.0-SNAPSHOOT 的行为方式相同。
现在将 project.clj 更改为(添加“:main dummy.core”):
和 src/dummy/core.clj 到:
现在编译它:
这会在classes/dummy中生成以下文件:
这都是正确的,我可以执行结果:
现在是我想要的,但我手动执行:我可以删除除core.class之外的所有类文件,并将core.clj复制到现在看起来很空的classes/dummy中:
core.class 包含在运行时加载 core.clj 的代码,结果仍然是一样的,我仍然可以这样做:
我还可以修改 core.clj(注意:在classes/dummy中!),当然不需要重新编译更改。
现在我的问题归结为:有没有更简单的方法来获取这个 core.class?
clojure - 在 Leiningen 中使用 redis-clojure 时出现问题
嘿,我是 Clojure 和 Leiningen 的新手,有点卡住了。我已经设法与 Leiningen 建立了一个项目。我可以将它编译成一个 uberjar 并运行repl
. 我还设法加载了一个名为aleph
运行简单并发网络服务器的依赖项。
对我来说下一步是使用redis-clojure
访问redis。但在这里我被困住了。这是我的project.clj
:
这是我的core.clj
:请注意,我仅(:requre redis)
根据 redis-clojure 中的示例添加了该行。
当我尝试运行lein repl
时会发生这种情况:
是的,我已经运行lein deps
并且 redis-clojure jar 在我的lib
目录中可用。我可能遗漏了一些微不足道的东西,但我已经在这个问题上待了几个小时,并且没有更接近解决方案。谢谢!