我对Enclojure REPL和使用其中的clojure模块有一个问题。Load/Change到file/ns在孤立的clojure文件中运行良好,但与一个文件中断,该文件具有对我试图从我的项目中使用的另一个clojure文件的引用。
以下是具体的步骤:
- Change REPL to file/ns
- Load
当我试图引用来自foobar的其他文件时,问题就开始了。我要做的是:
- Change REPL to file/ns
- Load
为了使REPL认识到它应该能够运行新的模块。
CompilerException java.io.FileNotFoundException:无法找到classpath:(NO_SOURCE_FILE:50) com.acme.foobar=>上的com/acme/NO_SOURCE_FILE:50_init.class或com/acme/thermodule.clj
此错误消息来自“将REPL更改为文件/ns”和“加载”。
我遗漏了什么?我应该做些其他的技巧来实现这一点吗?甚至连运行->清理和构建主项目的绝望措施也没有帮助(这当然会使REPL业务非常痛苦)。
我正在使用NetBeans 6.7.1和附件-plugin-2009-11-3.nbm。
发布于 2009-11-04 18:52:49
从google组中的桑森获得了正确的解决方案:
从窗口菜单创建REPL有三种方法。不要使用任何这些,而是右键单击项目和“启动项目REPL”。现在相应地设置路径。
发布于 2009-11-04 16:33:56
我的第一个建议是从NetBeans/Enclojure迁移到IDEA/Enclojure。JetBrains最近创建了他们的IDE的开源版本,Clojure插件在其中工作得很好。自从发现这一点后,我放弃了NetBeans和Enclojure。我觉得拉克洛尔很高兴在工作,但当然你的里程可能会有所不同。
回到我在NetBeans中这样做的时候,我似乎还记得Enclojure源代码驻留在一个名为"lib“的子目录中。我认为我通过修改要加载的文件名上的目录前缀来解决类似的问题。可能类似于“./lib/YourName”。我通过尝试和错误来处理这个问题,所以我无法将确切的规则和语法联系起来。
有两件事可能会有帮助:
https://stackoverflow.com/questions/1674793
复制相似问题