我想创建一个可以使用tomcat部署的战争。使用lein uberwar
做得很好,但是在开机时做同样的事似乎没有效果。我可以建立一个罐子并运行它,但战争失败与boot-clj创建一场战争
2015年12月9日上午12时15分31秒org.apache.catalina.loader.WebappClassLoader validateJarFile信息: validateJarFile(在/ var/lib中/ tomcat7/sites/geeknow.guru/DEBUG ## 0.1.7/WEB-INF/lib/javax.servlet-api-3.1.0.jar) - jar未加载。请参阅Servlet规范3.0,第10.7.2节。违规类:使用javax/servlet的/ Servlet.class
我使用以下build.boot
(set-env!
:source-paths #{"src/clj"}
:resource-paths #{"resources" "src/clj"}
:dependencies '[[org.clojure/clojure "1.7.0"]
[clj-time "0.9.0"]
[org.clojure/java.jdbc "0.3.7"]
[org.postgresql/postgresql "9.4-1202-jdbc41"]
[yesql "0.5.1"]
[migratus "0.8.6"]
[markdown-clj "0.9.67"]
[jarohen/nomad "0.7.2"]
[com.draines/postal "1.11.3"]
[compojure "1.4.0"]
[ring/ring-core "1.4.0"]
[ring/ring-devel "1.4.0"]
[ring/ring-defaults "0.1.5"]
[ring/ring-jetty-adapter "1.4.0"]
[ring-refresh "0.1.1"]
[ring-logger-timbre "0.7.5"]
[com.taoensso/timbre "4.1.4"]
[hiccup "1.0.5"]
[garden "1.3.0"]
[danlentz/clj-uuid "0.1.6"]
[speclj "3.3.1" :scope "test"]
[pandeiro/boot-http "0.7.1-SNAPSHOT"]])
(require '[pandeiro.boot-http :as http])
(require '[ring.middleware.reload :refer [wrap-reload]])
(require '[ring.adapter.jetty :as jetty])
(require '[ring.middleware.refresh :refer [wrap-refresh]])
(require '[blog.handler])
;;;;taken from boot-http.util
(defn resolve-sym [sym]
(require (symbol (namespace sym)) :reload)
(resolve sym))
(deftask ring-server
[]
(comp (jetty/run-jetty (wrap-refresh (wrap-reload (resolve-sym 'blog.handler/app))) {:port 3000}) (wait)))
(deftask uberwar
[]
(comp (aot) (pom) (web) (uber) (war)))
(deftask uberjar
[]
(comp (aot) (pom) (uber) (jar)))
(task-options!
pom {:project 'geeknow
:version "0.1.7"}
;uber {:as-jars true}
aot {:all true}
jar {:main 'blog.core
:manifest {"Description" "blog"}}
web {:serve 'blog.handler/app}
war {:main 'blog.core
:manifest {"Description" "blog"}}
repl {:init-ns 'blog.core})
你正在建设一个jdk <8和一个库,使用jdk8 – cfrick
我知道。这就是为什么我自己尝试构建clojure-adapter-servlet的原因,但它没有帮助。如果这有助于'boot -s src -d tailrecursion/clojure-adaptor-servlet:0.2.1 -pom -p clojure-adapter-servlet -v 0.2.1 -jar - - 安装' – Held
我在服务器上更新了Java。现在我得到一个新的错误。我相应地更新了这个问题 – Held