小编Ken*_*Ken的帖子

使用ASDF启动Hunchentoot

我正在使用Hunchentoot(在SBCL和Linux上)开发Web应用程序,通常我只是从Emacs(SLIME)运行它,但是对于部署我想要更容易自动化的东西.所以我想弄清楚ASDF,因为这似乎是每个人现在都在使用的东西.

myapp.asd:

(in-package #:asdf)
(defsystem :myapp
  :name "my app"
  :depends-on ("hunchentoot")
  :components ((:file "package")
               (:file "server" :depends-on ("package"))))
Run Code Online (Sandbox Code Playgroud)

package.lisp:

(defpackage myapp
  (:use :cl))
Run Code Online (Sandbox Code Playgroud)

server.lisp:

(setq hunchentoot:*dispatch-table*
      (list (hunchentoot:create-static-file-dispatcher-and-handler "/foo" "foo")))
(hunchentoot:start-server :port 8705)
Run Code Online (Sandbox Code Playgroud)

如果我尝试手动加载:

$ sbcl
* (require 'asdf)
* (asdf:operate 'asdf:load-op 'myapp)
Run Code Online (Sandbox Code Playgroud)

它加载并编译了一大堆函数,但随后就停止了.Hunchentoot未运行,提示符不接受输入.我不知道它认为它处于什么状态:打印的最后一行是:

STYLE-WARNING: Implicitly creating new generic function STRINGIFY-COOKIE.
STYLE-WARNING: Implicitly creating new generic function DISPATCH-REQUEST.
STYLE-WARNING: Implicitly creating new generic function WRITE-HEADER-LINE.
Run Code Online (Sandbox Code Playgroud)

有没有办法让这项工作?(忏悔:我真的不太了解ASDF或Common Lisp包,尽管有很多时间阅读它们.)

lisp packages startupscript common-lisp hunchentoot

8
推荐指数
1
解决办法
1919
查看次数

标签 统计

common-lisp ×1

hunchentoot ×1

lisp ×1

packages ×1

startupscript ×1