ノート
このOPが約2年前に作成されたことを考えると、同じ質問をもう一度するのではなく、ステップバイステップの手順が存在するかどうか疑問に思っています。これにより、Jetty、Tomcatのいずれであっても、Noirまたは他のClojureWebアプリケーションをApacheに統合できます。 、 または、他の何か。Djangoにも同様の手順があり、PythonはDjangoの場合、リングフレームワークではなくエンジンとして実行されているため、ClojureWebアプリケーションでは事態がより複雑になることを理解しています。
エンドノート
私はClojureが大好きで、CompojureはすっきりとしたWebフレームワークのようです。
しかし、Tomcatのような通常のアプリケーションサーバーにアプリケーションをWARとしてデプロイしたいと思ったとき、すべてが崩壊しました。ストックハンドラーが機能しなかったため、実際にはローカルJettyとTomcatの両方で機能する静的ファイルとリソースのカスタムリングハンドラーを作成する必要があり、コンテキストルートを手動でどこにでも追加する必要がありました。
JettyとTomcatの両方で実行できると考えられる最も単純なWebアプリケーションを作成するために、このすべてのコードを記述しなければならなかったことに、私は否定的に驚いています。私はこれについて3つの可能な説明しかありません:
- Jettyを使用したローカル開発以外の目的で、つまり本番環境でClojure/Compojureを使用する人は誰もいません。
- 誰もがコンテキストルートなしで専用のJettyにClojure/Compojureアプリをデプロイします(人々はNode.jsアプリでそれを行います)
- 私が気づかなかった問題を回避するための本当に簡単な方法があります
あなたの意見では、これらのうちどれが当てはまりますか?それとも何か他のものですか?
編集:
WARファイルの作成は、Maven / Leiningenでは簡単であり、私が言っていることではないことに注意してください。CompojureをTomcatで動作させるには、静的ファイルの提供やコンテキストルート認識などの基本的なものをすぐに使用できるようにするために、非常に多くのコードを記述しなければならないのではないかと思います。