评论者:jafingerhut
此评论对ticket CLJ-1604特别相关,其中已将其复制
汤姆,我检查了你的项目。感谢你的工作。看起来它里面没有像(def inc inc)这样的东西。对我来说,'lein do clean, uberjar, test'测试步骤会持续抛出异常,但只显示警告并成功通过'lein do clean, test'。我还有更多测试结果表明在哪些Clojure版本中结果发生了变化。总结一下,以下Clojure更改似乎对结果影响最大(这些应该添加到你创建的新ticket中 —— 你可以这样做)
Clojure 1.6.0, 1.7.0-alpha1及之后的少量更改,直到包含描述"CLJ-1378:允许FnExpr通过类型提示重写其报告的类"的提交:以上两个'lein'命令都没有错误或警告
接下来,带有描述"添加clojure.core/update,类似于update-in,但只接受单个键"的提交,增加了clojure.core/update:'lein do clean, test'没有问题,但'lein do clean, uberjar'在编译过程中抛出异常,可能由于CLJ-1241造成的。
下一个带有描述"修复CLJ-1241"的提交:'lein do clean, test'和'lein do clean, uberjar'会对clojure.core/update显示警告,但没有错误或异常。'lein do clean, uberjar, test'在测试步骤中抛出异常,与我在Clojure 1.7.0-alpha4上看到的异常相同。在data.int-map内部的打印显示值看起来没问题,在汤姆的命名空间中(当不进行uberjar操作时),但进行uberjar和测试时,在汤姆的命名空间中int-map/update是未绑定的。
如果这有影响,我的测试是在Mac OS X 10.9.5上使用Leiningen 2.5.0和Java 1.7.0_45 Java HotSpot(TM) 64-Bit Server VM完成的。