我在我的项目中使用jpl库时遇到了一个问题。
奇怪的是,在一个老项目上,它是一个普通的Java应用程序,通过遵循这个解决方案jpl/SWI Prolog配置失败,它可以很好地与jpl库工作。该解决方案提到,我必须配置环境变量,以便使库与Java对话。
另一方面,我的新项目是一个maven项目。首先,我包含了Maven的以下依赖关系。
<dependency>
<groupId>jpl</groupId>
<artifactId>jpl</artifactId>
<version>7.4.0</version>
<type>jar</type>
</dependency>
但我得到了以下例外情况:
public PrologReaderCollection RunGorgias(List<Context> contexts) {
JPL.init();
String filename = prologFilePath;
filename = filename.replace('\\', '/');
String t1 = "consult('" + filename + "')";
PrologReaderCollection output = new PrologReaderCollection();
Integer count =1;
for(Context cont : contexts) {
Query q1 = new Query(t1);
//Query q1 = new Query("consult",new Term[] {new Atom(t1)});
if (q1.hasNext()) {
String Request = "prove([" + cont.getName().toLowerCase() + "(" + cont.getParameters() + ")],Expl).";
q1 = new Query(Request);
while (q1.hasNext()) {
Map<String, Term> map = q1.nextSolution();
String expl = map.get("Expl").toString();
PrologReader pr = new PrologReader("Solution " + count + " for " + cont.getName().toLowerCase() + ":\n" + expl + "\n\n",cont.getSet(),cont.getName().toLowerCase());
output.add(pr);
count += 1;
if(count > 3) {
break;
}
}
}
count = 1;
}
return output;
}
<dependency>
<groupId>jpl</groupId>
<artifactId>jpl</artifactId>
<version>7.4.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/jpl.jar</systemPath>
</dependency>
有什么我能做的吗?
我用maven引用了7.0.1版本的jpl而不是7.4.0来解决我的问题,并且成功了!显然我需要一个旧版本的图书馆。
<dependency>
<groupId>jpl</groupId>
<artifactId>jpl</artifactId>
<version>7.0.1</version>
</dependency>
问题内容: 是否有Maven的“阶段”或“目标”来简单地执行Java类的主要方法?我有一个项目,希望通过简单地执行诸如“ mvn run”之类的操作来进行手动测试。 问题答案: 请参阅exec maven插件。你可以使用以下命令运行Java类: 调用就像插件配置在中一样简单。Mojohaus上的插件站点上有一个更详细的示例。
问题内容: 我想将android库项目安装到本地Maven存储库。这是 build.gradle : 当我跑步时: 它卡在这里: 因此,我注意到的第一件事是,由于某种奇怪的原因,它正在尝试将其作为APK部署在设备上。 我是在做错什么,还是只是android-library插件与maven插件不兼容? 问题答案: 编辑: 请参阅github页面(https://github.com/dcendent
今天早上我试图对我现有的项目进行一些更改,但我无法生成直到昨天才开始工作的构建。 我得到一个如下错误, 依赖项的AAR元数据(meta-inf/com/android/build/gradle/aar-metadata.properties)中指定的minCompileSdk(30)大于此模块的compileSdkVersion(android-29)。
我的项目无法使用以下库进行编译: 我的分级代码: 错误: **错误:任务“:app:PredexDebug”执行失败。 com.android.ide.common.Process.processException:org.gradle.Process.internal.execException:进程“command”/usr/lib/jvm/java-7-openjdk-amd64/bin/j
我在我的项目分级文件中收到了这样的警告: 警告:(16,5)“生成类型”不能应用于“(groovy.lang.closure )” 我的buildTypes部分是: 我目前使用的是Android Studio 1.1.0、CompilesDKVersion22、BuildToolsVersion22.0.0和TargetSDKVersion22。我试着退让到21岁,但还是收到了警告。 是什么导致了
Python:2.6.6 Kafka-蟒蛇:1.4.3 从Kafka.Consumer进口KafkaConsumer 文件“/usr/lib/python2.6/site-packages/kafka/consumer/init.py”,第5行 从kafka.consumer.group导入KafkaConsumer 文件“/usr/lib/python2.6/site-packages/kafk