我創建了一個示例多語種程序。我有一個傳感器和一個機器人用java和AI在clojure中實現。我無法連接行家正確java在maven和eclipse中與clojure混合使用
--src/main/java/clojuretest
|
DistanceSensor.java
AI.clj (uses DistanceSensor)
Robot.java (uses AI)
DistanceSensor.java:
package clojuretest;
public class DistanceSensor {
public int getValue() {return 5;}
}
AI.clj:
(ns clojuretest.AI
(:gen-class :methods [[isObstacleAhead [] boolean]]))
(defn -isObstacleAhead [this] (< (.getValue (clojuretest.DistanceSensor.)) 10))
Robot.java:
package clojuretest;
public class Robot {
public boolean shouldStop() {
return new AI().isObstacleAhead();
}
}
我可以甚至可以手動強制maven編譯它: mvn clean clojure:compile
產生錯誤 - 沒有DistanceSensor類(但由於某種原因創建AI.class)。所以然後 mvn compile
看到AI.class並正確編譯所有內容並通過測試。但我能做些什麼來使mvn clean compile
通過?我的pom.xml應該如何?我還能做些什麼來使eclipse停止抱怨不存在的AI.class?
這不是問題。我將clojure-maven-plugin源文件設置爲src/main/java。但即使按照你的建議改變了結構後,我仍然有同樣的錯誤。當clojure:編譯完成後,沒有找到DistanceSensor.class。如果java編譯完成後,沒有找到AI.class – piotrek
對不起,錯誤地閱讀你的問題。請參閱我對Sergiu的回答的評論 –