【发布时间】:2020-08-06 18:58:48
【问题描述】:
我有一个名为 Process 的记录。
执行以下操作
(ns foo)
(defrecord Process ...)
导致错误Process already refers to: class java.lang.Process in namespace: foo
另外,当我将Process 导入另一个命名空间时,我得到了同样的错误:
(ns bar
(:import [foo Process]))
以下片段解决了我的问题,但感觉不干净。
(ns foo)
(ns-unmap *ns* 'Process)
(defrecord Process ...)
(ns bar
(:import foo [.. ..]))
(ns-unmap *ns* 'Process)
(import [foo Process])
我想在ns 语句中排除java.lang.Process,这样我就不需要ns-unmap 或单独的import 表达式。
【问题讨论】:
-
Exclude java.lang in clojure namespace 密切相关,即使不是正确的重复。
-
感谢您的快速回答。这似乎是几乎相同的问题,但也许自从 8 年前提出这个问题以来发生了一些变化?
标签: clojure