动态编辑代码时的compojure stack-over-flow

时间:2013-09-07 10:18:23

标签: clojure

我正在使用compojure开发一个webapp,我曾经使用lein ring server来测试我的应用程序。

当出现问题时(例如在http请求期间出现500服务器错误),我总是在环服务器运行时编辑代码,并在保存更改时保持动态重新编译,因此无需重新启动{{ 1}}

但今天有些事情变得奇怪了。有一个文件,它包含整个应用程序的核心逻辑。我仔细设计了它,因此没有循环依赖。我开始lein ring server时一切都很好。但很快事情就变得奇怪了:在该文件上的任何更新(甚至是单个空格的添加)都会导致服务器在下一个http请求上堆栈溢出,如果我重新启动服务器,那么每件事情都会再次正常,而我的新代码运行良好。所以到目前为止,每次我需要更新该文件时,我都需要关闭服务器,更新文件,然后再次运行lein ring server。这是浪费时间,我想知道可能是什么原因。

错误信息显示:

lein ring server

数百次,但“stackoverflow”除外。

非常感谢你们所有人

1 个答案:

答案 0 :(得分:0)

虽然如果没有看到代码和终端真的很难准确,我建议将你的lein-ring依赖关系升级到更新的版本。已知lein-ring 0.8.5有一些问题。