gpt4 book ai didi

java - 为什么这些 Java 类名必须在 Clojure 中完全限定?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:36:04 25 4
gpt4 key购买 nike

我正在定义一个 definterface 以与 JAX-RS REST 服务器(RESTEasy)一起使用:

(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: 导入类时,为什么注释必须具有完全限定的类名?

最佳答案

gen-classgen-interface 都要求类完全合格,如文档 http://clojuredocs.org/clojure_core/clojure.core/gen-interface 中所述和 http://clojuredocs.org/clojure_core/clojure.core/gen-interface .我不知道为什么会这样。

关于java - 为什么这些 Java 类名必须在 Clojure 中完全限定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7711782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com