को पुनरारंभ करें मैं क्लोजर में लिखित एक WAR फ़ाइल को डेबियन लेनी पर टॉमकैट 6 पर तैनात करने का प्रयास कर रहा हूं।एनपीई टॉमकैट में क्लोजर वायर स्थापित करने,
मुझे एक NullPointerException मिल रहा है जब मैं इसे वेबपैस डीआईआर में कॉपी करता हूं (दोनों पहले प्रकार के लिए और मौजूदा युद्ध को ओवरराइट करते समय)। आश्चर्यजनक रूप से, टॉमकैट को पुनरारंभ करना समस्या को हल करता है और सर्वलेट ठीक चलाता है। मैंने लीनिंगन-वार के साथ युद्ध को पैक किया (लीन-रिंग भी कोशिश की)। Jetty का उपयोग करते समय सर्वलेट ठीक काम करता है।
(ns foobar.servlet
(:use [ring.util.servlet :only [defservice]])
(:gen-class :extends javax.servlet.http.HttpServlet))
(defn handler
[req]
{:status 200
:headers {"Content-type" "text/html"}
:body "hi"})
(defservice handler)
प्रासंगिक lein निर्भरता:
[org.clojure/clojure "1.2.0"]
[ring/ring-core "0.3.4"]
[ring/ring-servlet "0.3.4"]
मुझे यकीन है कि बनाया न्यूनतम करने के लिए सरल
Jan 12, 2011 7:18:06 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet foobar
java.lang.NullPointerException
at clojure.lang.Var.invoke(Var.java:373)
at clojure.lang.AFn.applyToHelper(AFn.java:169)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.lang.Compiler.macroexpand1(Compiler.java:5286)
at clojure.lang.Compiler.macroexpand(Compiler.java:5341)
at clojure.lang.Compiler.eval(Compiler.java:5409)
at clojure.lang.Compiler.load(Compiler.java:5857)
at clojure.lang.RT.loadResourceScript(RT.java:340)
at clojure.lang.RT.loadResourceScript(RT.java:331)
at clojure.lang.RT.load(RT.java:409)
at clojure.lang.RT.load(RT.java:381)
at clojure.core$load$fn__4511.invoke(core.clj:4905)
at clojure.core$load.doInvoke(core.clj:4904)
at clojure.lang.RestFn.invoke(RestFn.java:409)
at clojure.lang.Var.invoke(Var.java:365)
at foobar.servlet.<clinit>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
यहाँ स्रोत है,:
यहाँ बिलाव से प्रासंगिक लॉग प्रविष्टि है WAR और टोमकैट के lib dir में कोई डुप्लिकेट JARs नहीं हैं।
मुझे नुकसान हुआ है। किसी को पता है कि क्या गलत है या समस्या निवारण युक्तियाँ हैं? प्रत्येक तैनाती पर टॉमकैट को पुनरारंभ करने के लिए बट में दर्द होता है।
टिप के लिए धन्यवाद, लेकिन कोई भाग्य नहीं :( –