gpt4 book ai didi

java在maven和eclipse中与clojure混合

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:19:45 42 4
gpt4 key购买 nike

我创建了一个示例多语言程序。我有一个传感器和一个用 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

您可以在 following article 中找到更多详细信息

关于java在maven和eclipse中与clojure混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14110657/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com