问题标签 [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.

0 投票
2 回答
4657 浏览

clojure - clojure lein:如何在我的项目中包含来自另一个目录的源代码?

我在一个目录中有一个 lein 项目,而不是使用运行时下载的 .jar

我想使用来自克隆的 github 存储库的源代码(它最近的修复不在当前的 jar 中)。使用 leiningen 执行此操作的规范方法是什么?

这是我的项目文件:

我想使用来自 github 的 overtone repo,而不是来自 clojars 的。

https://github.com/overtone/overtone

这可能吗?

0 投票
1 回答
2984 浏览

clojure - 如何从 IntellijIdea 运行 leiningen?

我安装了带有 La Clojure 和 Leiningen 插件的 IntelliJ Idea 10.5.2。之后安装了 Leiningen,如 GitHub 页面中所述(拿了蝙蝠,因为我在 Windows 7 上运行,并进行了自我安装;我还将蝙蝠的路径放在 PATH 变量中)

现在,在 Leiningen 中运行任何东西都会产生这个错误:

E:\leiningen\lein.bat deps 打开注册表项“Software\JavaSoft\Java Runtime Environment”时出错 错误:找不到 java.dll 错误:找不到 Java SE 运行时环境。

所以,问题是“这里出了什么问题?” 我尝试按照正确方式安装 Leiningen 的所有步骤。仍然不能完全工作。

如果我从 Windows 命令提示符转到我的项目所在的位置,那么我可以运行lein命令。它就是这样工作的。但我想从 IntelliJ 的插件中运行。

另外,我注意到的另一件奇怪的事情是,如果我启动一个 Total Commander,转到我的项目并从那里启动一个命令提示符,然后尝试运行任何lein命令,我会得到同样的错误。

我的猜测是类路径可能有问题,但是什么?以及如何解决?

0 投票
2 回答
1458 浏览

clojure - 编写和安装你自己的 leiningen 插件

我已经能够从我的项目 project.clj 甚至 leiningen/plugin.clj (即只是一个私有插件)中运行一个自定义插件 - 但是当我把这个插件放在它自己的项目中时 - 我无法得到它完全可以工作。

按照建议,我应该创建一个新项目,并有一个 leiningen.myplugin 等命名空间......但是我生成的 jar 似乎没有在项目中提供新任务(通过 jar 或通过 clojars )。

http://nakkaya.com/2010/02/25/writing-leiningen-plugins-101/ https://github.com/technomancy/leiningen/blob/stable/doc/PLUGINS.md

任何发布插件的人都关心确认上述内容是否正确 - 或者我是否缺少一些关键步骤?(我假设我的任务在插件项目中的 core.clj 中)

0 投票
1 回答
225 浏览

clojure - Leiningen 1.3 升级插件类路径

我有一个插件,它曾经使用来自 contrib 的命令行,在 ns 中有以下内容,

以前可以工作,我猜因为 leiningen 也使用 clojure 和 contrib 它会自动在其类路径中,上面的新 contrib 结构变为,

似乎 leiningen 在其类路径中不包含来自 lib/ 的 jar,这失败了,是否有解决方法?

0 投票
1 回答
250 浏览

debugging - Clojure/Swank `break` 退出了封闭的 Leiningen 进程——为什么?

我在调试我的 Clojure 程序 Infocard Workbench 时遇到了一个真正意外的错误:A (swank.core/break)in a function 导致 CLI 窗口出错,导致执行中止,即使(-main)Clojure/Swank REPL 调用了正在运行的程序 。当我注释掉 break 语句时,程序运行正常。为什么我从创建 REPL 的 leiningen 进程而不是 SWANK REPL 本身收到错误?

万一重要,该程序使用以下库: Seesaw (Swing UI);Piccolo2D(Swing 2D 图形);Sedna(具有 XQuery 访问权限的 XML 数据库)。


堆栈跟踪如下。以“GW COMMENT >>>”开头的行是我添加的注释行,不是跟踪的一部分。


这是包含该break语句的函数:

回顾错误信息:

我看不出*current-connection*与 Swankbreak消息的执行有何关联。我的程序确实有一个名为 的符号*current-connection*,但它位于命名空间infwb.sedna中,这与我的 REPL 运行的命名空间不同,即infwb.core.

如果有人想要,我可以发布更多 Clo​​jure 源代码。感谢您花时间考虑这个问题。

0 投票
8 回答
72785 浏览

clojure - 如何在 REPL 中重新加载 clojure 文件

在无需重新启动 REPL 的情况下重新加载 Clojure 文件中定义的函数的首选方法是什么?现在,为了使用更新的文件,我必须:

  • 编辑src/foo/bar.clj
  • 关闭 REPL
  • 打开 REPL
  • (load-file "src/foo/bar.clj")
  • (use 'foo.bar)

此外,(use 'foo.bar :reload-all)不会产生所需的效果,即评估修改后的函数体并返回新值,而不是表现为源根本没有改变。

文档:

0 投票
5 回答
3571 浏览

clojure - Clojure(读取行)不等待输入

我正在用 Clojure 编写一个文本游戏。我希望玩家在控制台上输入台词,然后游戏会逐行响应。

研究表明,这(read-line)是从 Clojure 中的标准输入获取文本行的方式,但它不适用于我。

我在一个新的 Leiningen 项目中,我在指向唯一源文件的地方添加了一个:main子句:project.clj

使用lein run产量:

换句话说,没有机会在控制台输入文本以供(read-line)阅读。

我应该如何让 Clojure 等待输入字符和换行符并返回相应的字符串?

(我在 Linux Mint 11 上使用 GNOME Terminal 2.32.1,在 Java 1.6.0_26 Java HotSpot(TM) 64 位服务器 VM 上使用 Leiningen 1.6.1.1,Clojure 版本 1.2.1。)

更新:如果我运行lein repl,我可以(println (read-line)),但当我有一个-main函数并使用运行时,我就不行了lein run

0 投票
2 回答
3449 浏览

maven - 在 Clojure REPL 中动态加载依赖项

是否可以在运行的Clojure REPL中下载和安装以前未指定的 Maven 依赖项?

我正在考虑一种相当常见的情况,您希望为某些测试或可视化工具临时快速引入依赖项,但又不想关闭当前的 REPL 会话。

例如,如果你想在当前的 REPL 会话中引入 Incanter 来绘制一些漂亮的数据图表,你可能会使用如下内容:

据推测,您必须从适当的存储库触发 Maven 或 Leiningen 中的依赖关系解析/加载,但我对它们的内部结构了解不足,无法知道在运行时这是否可能......

0 投票
1 回答
211 浏览

clojure - “lein deps”在 cygwin 中不起作用。(窗口操作系统)

线程“main”java.lang.IllegalAccessError 中的异常:repositories-for 不退出。这是在 cygwin 中 发出命令lein deps时出错。

0 投票
1 回答
637 浏览

clojure - 将其他文件包含在 project.clj 中

是否可以在 clojure 项目的 project.clj 中包含(导入?)其他文件?(特别是莱宁根)。

例如我们有:

最好在 project.clj 以外的文件中定义更多内容,例如 :some-key。