笔记
鉴于此 OP 是大约两年前编写的,而不是再次问同样的问题,我想知道是否存在分步说明,以便我可以将 Noir 或其他 Clojure Web 应用程序集成到 Apache 中,无论是 Jetty、Tomcat , 或者是其他东西。Django 也存在类似的指令,我想我理解 Python 在 Django 的案例中作为引擎而不是环框架运行,因此 Clojure Web 应用程序的情况更加复杂。
尾注
我深深爱上了 Clojure,而且 Compojure 看起来像是一个简洁的 Web 框架。
但是当我想将我的应用程序部署在像 Tomcat 这样的常规应用程序服务器上作为 WAR 时,一切都崩溃了。实际上,我必须为静态文件和资源编写自定义 Ring 处理程序,这些处理程序可以在本地 Jetty 和 Tomcat 上工作,因为股票处理程序没有,而且我必须手动在任何地方添加上下文根。
我很惊讶我必须编写所有这些代码来创建可以在 Jetty 和 Tomcat 上运行的最简单的 Web 应用程序。我对此只有三种可能的解释:
- 没有人将 Clojure/Compojure 用于使用 Jetty 进行本地开发以外的任何事情,即在生产中
- 每个人都在没有上下文根的专用 Jetty 上部署 Clojure/Compojure 应用程序(就像人们使用 Node.js 应用程序一样)
- 有一种非常简单的方法可以规避我遇到的我不知道的问题
在你看来,这些情况中的哪一个?或者是别的什么?
编辑:
请注意,使用 Maven/Leiningen 创建一个战争文件是轻而易举的事,而不是我的意思。我想知道我必须编写这么多代码才能使 Compojure 与 Tomcat 一起工作,基本的东西,如静态文件服务和上下文根感知,应该开箱即用。