gpt4 book ai didi

java - lein自定义java类未找到异常

转载 作者:行者123 更新时间:2023-12-01 09:07:23 25 4
gpt4 key购买 nike

当我在 clojure 项目中导入自定义 java 类时,出现 ClassNotFoundException

;project.clj
(defproject subclass "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.8.0"]]
:java-source-paths ["src/java"]
:main subclass.core
:aot [subclass.core]
:target-path "target/%s"
:profiles {:uberjar {:aot :all}})

;src/subclass/core.clj
(ns subclass.core
(:gen-class
:extends BaseClass
:exposes-methods {greet pgreet})
(:import BaseClass)) ;This is being qualified as java.lang.BaseClass

(defn -main [& args])

//src/java/BaseClass.java
public class BaseClass {
public String greet() {
return "Hello from BaseClass";
}
}

当我运行lein repl时,我收到以下错误:

Compiling subclass.core
java.lang.ClassNotFoundException: java.lang.BaseClass, compiling:(subclass/core.clj:1:1)
Exception in thread "main" java.lang.ClassNotFoundException: java.lang.BaseClass, compiling:(subclas
s/core.clj:1:1)
at clojure.lang.Compiler.analyzeSeq(Compiler.java:6875)
at clojure.lang.Compiler.analyze(Compiler.java:6669)
at clojure.lang.Compiler.analyze(Compiler.java:6625)
... snip ...
at clojure.lang.AFn.applyToHelper(AFn.java:156)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.main.main(main.java:37)
Caused by: java.lang.ClassNotFoundException: java.lang.Baseclass
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:69)
... snip ...
... 54 more
Compilation failed: Subprocess failed

BaseClasss 被限定为 java.lang.BaseClass,但失败了。如何从src/java引用BaseClass?谢谢。

最佳答案

尝试将BaseClass放入包中。 Java 和 Clojure 不喜欢“裸”类。

关于java - lein自定义java类未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41157882/

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