尝试在java库之外导入一个没有结果的类。我在Eclipse Helios上逆时针运行。 commons-land-2.6.jar位于buildpath中。我是Clojure的新手,无法解决这个问题。所有人都非常感谢!
当然这很好用:
1:7 exp2=> (import '(java.io FileReader))
> java.io.FileReader
但这不是:
1:6 exp2=> (import '(org.apache.commons.lang.StringUtils))
>零
这是最终目标:
1:10 exp2 => (defn whitespace?[character](。StringUtils(isEmpty character)))
> java.lang.Exception:无法在此上下文中解析符号:StringUtils(repl-1:10)
答案 0 :(得分:27)
您犯了一个错误 - 您没有在org.apache.commons.lang和StringUtils类之间放置空格。这种导入形式允许您从一个包导入多个类,例如:
(import '(org.apache.commons.lang StringUtils SystemUtils))
如果您只想导入一个类,则可以使用不带括号的版本:
(import 'org.apache.commons.lang.StringUtils)
因为StringUtils中的函数是静态的,所以需要使用以下代码:
(StringUtils/isEmpty character)
调用他们的功能