我定义了一个与JAX-RS REST服务器(RESTEasy)一起使用的definterface
:
(ns com.example.server.resources.buildtime
(:import [javax.ws.rs.core Cookie UriInfo]))
(definterface BuildTime
(getBuildTime [^UriInfo info
^Cookie security-cookie]))
当我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:
导入类时,注释是否必须具有完全限定的类名?
答案 0 :(得分:2)
gen-class
和gen-interface
都要求课程完全合格,如文档http://clojuredocs.org/clojure_core/clojure.core/gen-interface和http://clojuredocs.org/clojure_core/clojure.core/gen-interface中所述。我不知道为什么会这样。