1

私は、私のproject.cljに:java-source-paths ["src/java"]を追加作品uberjar レインが、レインのfigwheelを実行しているとき、私は次のエラーを取得:私は「にこれを追加lein-figwheelでJavaクラスをコンパイルしてインポートするには?

Figwheel: Cutting some fruit, just a sec ... 
Figwheel: Validating the configuration found in project.clj 
Figwheel: Configuration Valid :) 
java.lang.ClassNotFoundException: projectc.java.gcloud.DataStore, compiling:(projectc/gcloud/datastore.clj:1:1) 

を:uberjar`セクション

:prep-tasks ["javac" "compile" ["cljsbuild" "once" "min"]] 

これを解決する手掛かりはありますか?

+0

[this](https://github.com/bhauman/leinfigwheel/issues/68)をご覧になりましたか? – OlegTheCat

+1

確かに、figwheelは通常Clojurescriptを実行するために使用されていることを知っていると仮定します.JavaScriptはJavaがブラウザで実行されないため、通常Javaはこのプロセスで何の役割も持ちませんアプレットの実行など)。 ClojurescriptコンパイラはClojureで書かれているので、Java *はfigwheelで何らかの役割を果たしている可能性があるので、Clojurescriptをコンパイルする前にJavaで前後することができます。あなたがこのすべてをすでに知っていて、Javaがこのケースでfigwheelで必要なものであることを知っているなら、これを無視してください。たぶんそれは誰かを助けるでしょう。 – Mars

答えて

0

Figwheel(およびClojureScriptコンパイラ)がコードをコンパイルすると、与えられたすべてのcljファイルが処理され、cljファイルにあるマクロがコンパイルされます。 Figwheelがクラスパス上にないクラスを使用しているファイルをコンパイルしようとしているようですか?そのクラスを含めることは可能ですか、ClojureファイルをFigwheelコンパイルから除外することはできますか?おそらく、そのJavaプロジェクトをJARとして構築し、それをテストとしての依存関係として組み込んでみてください。

これはあまり情報がありませんが少し難しいですが、このissueも関連性がありますか?

関連する問題