2016-12-15 8 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는 "알몸"클래스를 좋아하지 않습니다.