2016-12-15 14 views
0

私のclojureプロジェクトでカスタムJavaクラスをインポートするとClassNotFoundExceptionが表示されています。 leinカスタムJavaクラスが見つかりませんでした。

;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として資格を取得しています。どのようにBaseClassを src/javaから参照するのですか?ありがとう。

+0

'Baseclass'は' BaseClass'と同じものではありません。 –

+0

申し訳ありません、投稿を更新しました。 – boring

+0

アラン・トンプソン:ありがとうございます。 – boring

答えて

1

BaseClassをパッケージに入れてみてください。 Java & Clojureは "裸の"クラスを気に入らない。

関連する問題