Примечание
Учитывая, что этот ОП был написан около двух лет назад, вместо того, чтобы снова задавать тот же вопрос, мне интересно, существуют ли пошаговые инструкции, так что я могу интегрировать Noir или другое веб-приложение Clojure в Apache, будь то Jetty, Tomcat или что-то еще. Подобные инструкции существуют для Django, и я думаю, что понимаю, что Python запускается в случае Django как движок, а не как кольцевая структура, поэтому с веб-приложениями Clojure все сложнее.
Конец примечания
Я глубоко убежден. влюблен в Clojure, и Compojure кажется изящным веб-фреймворком.
Но все развалилось, когда я хотел развернуть свое приложение на обычном сервере приложений, таком как Tomcat, в качестве WAR. На самом деле мне пришлось написать собственные обработчики Ring для статических файлов и ресурсов, которые будут работать как на локальной Jetty, так и на Tomcat, потому что стандартные обработчики этого не сделали, и мне пришлось добавлять корень контекста везде вручную.
Я глубоко поражен тем, что мне пришлось написать весь этот код, чтобы создать простейшее вообразимое веб-приложение, которое будет работать как на Jetty, так и на Tomcat. У меня есть только три возможных объяснения этого:
Что из этого, по вашему мнению, имеет место? Или это что-то еще?
Редактировать:
Обратите внимание, что создание файла войны - это простая задача с Maven / Leiningen, а не то, что я имею в виду. Мне интересно, что мне нужно написать так много кода, чтобы Compojure работал с Tomcat, базовые вещи, такие как обслуживание статических файлов и понимание корневого контекста, которые должны работать из коробки.