为什么这些Java类名必须在Clojure中完全限定?
我正在定义一个用于JAX-RS REST服务器()的为什么这些Java类名必须在Clojure中完全限定?,java,import,clojure,Java,Import,Clojure,我正在定义一个用于JAX-RS REST服务器()的definterface: 在AOT编译此类时,出现以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/UriInfo, compiling:(com/example/server/resources/buildtime.clj:13) 如果我将注释更改为以下内容,错误将消失: (definterface BuildTime (getBuil
definterface
:
在AOT编译此类时,出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/UriInfo, compiling:(com/example/server/resources/buildtime.clj:13)
如果我将注释更改为以下内容,错误将消失:
(definterface BuildTime
(getBuildTime [^javax.ws.rs.core.UriInfo info
^javax.ws.rs.core.Cookie security-cookie]))
当使用
import:
导入类时,为什么注释必须具有完全限定的类名?gen class
和gen interface
都要求按照文档和中的说明对类进行完全限定。我不知道为什么会这样。对于definterface
,这是真的吗?我在Clojure API站点()上找不到definterface
definterface
的文档,它只是执行一些宏解析,然后发送到gen interface
,因此,如果一个有需求,另一个似乎必须。
(definterface BuildTime
(getBuildTime [^javax.ws.rs.core.UriInfo info
^javax.ws.rs.core.Cookie security-cookie]))