Нет регистрации для приложения Clojure, развернутого как WAR на Jetty
Я создал файл WAR и развернул его на Jetty 9 с помощью этих шагов создания и развертывания WAR, что является адаптацией к предложениям Pedestal. Этот процесс работал для меня в прошлом, но в настоящее время Jetty не будет запускать приложение.
Я также не могу найти никаких полезных журналов. Это моя главная проблема. Я посмотрел в этих местах:
/var/log/jetty/current
говорит мне только это:
2014-03-29_16:23:24.058:INFO:oejsh.ContextHandler:main: Started o.e.j.w.WebAppContext@181d4997{/,file:/tmp/jetty-0.0.0.0-8080-myapp.war-_-myapp.domain.com-5203978721479585979.dir/webapp/,AVAILABLE,myapp.domain.com}{/opt/myapp/myapp.war}
2014-03-29_16:23:24.14610 2014-03-29 16:23:24.126:INFO:oejs.ServerConnector:main: Started ServerConnector@5cb1d518{HTTP/1.1}{0.0.0.0:8080}
/opt/jetty/logs
- не содержит файлов вообще/opt/myapp
- содержитmyapp.war
но нет логов
Я также попытался добавить -DDEBUG=true -Dorg.eclipse.jetty.LEVEL=DEBUG
к моим параметрам Jetty JVM при запуске, но дополнительные вход в систему /var/log/jetty/current
не сказал мне, что пошло не так с запуском файла WAR.
Хотя ведение журнала работает в разработке (например, с lein run-dev
), Я не удивлюсь, если сделаю какую-то ошибку с моей конфигурацией регистрации. Я использую стандартный logback.xml, предоставленный сервисным шаблоном Pedestal.
Что касается основной ошибки приложения, у меня тоже есть некоторые догадки. Скорее всего, это связано с недавними изменениями в зависимостях приложения (я добавил Datomic) или с подключением к Datomic при запуске.
Вот мой мой project.clj:
(defproject myapp-service "0.1.0-SNAPSHOT"
:description "A web app"
:url "http://myapp.domain.com"
:dependencies
[[org.clojure/clojure "1.6.0"]
[org.clojure/tools.reader "0.8.3"]
[com.datomic/datomic-pro "0.9.4699"
:exclusions [org.slf4j/slf4j-api org.slf4j/slf4j-nop commons-codec]]
[io.pedestal/pedestal.service "0.2.2"
:exclusions [com.fasterxml.jackson.core/jackson-core]]
[io.pedestal/pedestal.service-tools "0.2.2"
:exclusions [com.fasterxml.jackson.core/jackson-core]]
[enlive/enlive "1.1.5"]
[validata "0.1.5"]]
:repositories
{"my.datomic.com"
{:url "https://my.datomic.com/repo"
:username "email@domain.com"
:password "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}
:profiles
{:dev
{:source-paths ["dev"]
:dependencies
[[io.pedestal/pedestal.jetty "0.2.2"]]}}
:min-lein-version "2.0.0"
:resource-paths ["config", "resources"]
:aliases
{"run-dev" ["trampoline" "run" "-m" "myapp-service.server/run-dev"]}
:repl-options
{:init-ns user
:init
(try
(use 'io.pedestal.service-tools.dev)
(require 'myapp-service.service)
; HACK: Allow referencing non clojure.core symbols in :init
(eval '(init myapp-service.service/service
#'myapp-service.service/routes))
(catch Throwable t
(println "ERROR: There was a problem loading"
"io.pedestal.service-tools.dev")
(clojure.stacktrace/print-stack-trace t)
(println)))
:welcome (println
"Welcome to pedestal-service!"
"Run (tools-help) to see a list of useful functions.")}
:main ^{:skip-aot true} myapp-service.server)
Итак, чтобы сформулировать мой главный вопрос, как мне заставить работать регистрацию? Все остальное будет следовать из этого.