我创建了一个示例多语言程序。我有一个用java实现的传感器和一个机器人,以及用clojure实现的AI。我无法正确连接maven
--src/main/java/clojuretest
|
DistanceSensor.java
AI.clj (uses DistanceSensor)
Robot.java (uses AI)
距离传感器.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))
机器人.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 插件要求 clojure 代码位于单独的目录中,因此您应该具有以下布局:
src/
main/
java/
java-code
clojure/
clojure code
test/
java/
java tests code
clojure/
clojure tests code
您可以在以下位置找到更多详细信息以下文章 http://clojure-doc.org/articles/ecosystem/maven.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)