引用我之前的问题, Executing a lisp function from Java 我能够使用 ABCL 从 Java 调用 lisp 代码。 但问题是,现有的 lisp 代码使用 CL-PPCRE 包。 我无法编译代码,因为它显示“未找到 CL-PPCRE”。 我尝试了不同的方法来添加该包, 包括 1) how does one compile a clisp program which uses cl-ppcre? 2) https://groups.google.com/forum/#!topic/cl-ppcre/juSfOhEDa1k
不起作用! 另一件事是,执行(编译文件 aima.asd)工作得很好,尽管它也需要 cl-pprce
(defpackage #:aima-asd
(:use :cl :asdf))
(in-package :aima-asd)
(defsystem aima
:name "aima"
:version "0.1"
:components ((:file "defpackage")
(:file "main" :depends-on ("defpackage")))
:depends-on (:cl-ppcre))
最终的java代码是
interpreter.eval("(load \"aima/asdf.lisp\")");
interpreter.eval("(compile-file \"aima/aima.asd\")");
interpreter.eval("(compile-file \"aima/defpackage.lisp\")");
interpreter.eval("(in-package :aima)");
interpreter.eval("(load \"aima/aima.lisp\")");
interpreter.eval("(aima-load 'all)");
错误信息是
Error loading C:/Users/Administrator.NUIG-1Z7HN12/workspace/aima/probability/domains/edit-nets.lisp at line 376 (offset 16389)
#<THREAD "main" {3A188AF2}>: Debugger invoked on condition of type READER-ERROR
The package "CL-PPCRE" can't be found.
[1] AIMA(1):
有人可以帮助我吗?
最佳答案
您需要先加载cl-ppcre
才能使用它。您可以使用 (asdf:load-system :aima)
来完成此操作,前提是将 aima 和 cl-ppcre 放入 ASDF 搜索的位置。
关于java - 运行使用 cl-cppre 的 ABCL 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172357/