Tag: jess

如何在Maven项目中添加Jess?

我有一个使用Pogamut库的Maven项目(在虚幻竞技场中创建机器人)。 我想添加Jess,但我很难这样做。 该项目构建正常但我在尝试运行时遇到各种错误(取决于当前的代码)。 这是pom.xml文件: 4.0.0 cz.cuni.amis.pogamut.ut2004 pogamut-ut2004-bot-pom 3.6.1 cz.cuni.amis.pogamut.ut2004.examples huntbot 3.3.1 jar 04-hunter-bot http://pogamut.cuni.cz cz.cuni.amis.pogamut.ut2004.examples.huntbot.HunterBot amis-artifactory AMIS Artifactory http://diana.ms.mff.cuni.cz:8081/artifactory/repo org.dstovall onejar-maven-plugin 1.4.4 ${bot.main.class} gov.sandia jess 7.1p2 system ${project.basedir}/src/main/resources/jess.jar Jess部分是我自己添加的一些调整,以使其工作。 systemPath文件夹中有一个jess.jar文件。 以下是HunterBot.java文件(唯一的.java源文件): import jess.*; … Rete engine; 上面两行没有编辑错误,一切都被认可。 这是我运行项目时遇到的exception: Exception in thread “main” PogamutException[cz.cuni.amis.pogamut.ut2004.utils.UT2004BotRunner@4891a775: Agents can’t be started: com.google.inject.internal.ComputationException: java.lang.NoClassDefFoundError: Ljess/Rete; (caused by: com.google.inject.internal.ComputationException: java.lang.NoClassDefFoundError: Ljess/Rete;)]

Java中JESS的输出

我想将一个“事实”发送到java中的JESS文件并返回结果。 我基本上批处理JESS文件,然后通过.add()将我的数据(这里的结构)发送到引擎。 我试图将JESS结果(应该是一个字符串)转换为“值”。 Rete engine = new Rete(); engine.batch(“file.clp”); Value = AAAnull; try{ engine.add(structure) AAA = engine.eval(“(run)”); } catch … System.out.println(AAA); 结果总是一个数字,但结果应该是一个字符串。 我已经在一个简单的java项目中解决了这个问题,AAA正在返回字符串,但是这里它没有用。