Compojure Getting Started Page에서 주어진대로 샘플 WAR을 생성하고 Apache Tomcat 6.0.2 wepapps 폴더에 배포했습니다. 내가 사용은 web.xml은 다음과 같습니다 : URL을 액세스Apache Tomcat에 배포 된 Clojure를 사용하여 생성 된 WAR가 실행되지 않는다 Servlet
<web-app>
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>myapp.MyServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
내가 WEB-INF/lib 폴더에있는 Clojure의,의 Clojure있는 contrib 단지를 포함 한 다음과 같은 오류
java.lang.NullPointerException: Handler returned nil (maybe no routes matched URI)
compojure.http.servlet$request_handler__72.invoke(servlet.clj:110)
myapp.MyServlet$_service__108.invoke(MyServlet.clj:11)
myapp.MyServlet.service(Unknown Source)
에게 던졌습니다.
Apache Tomcat에서 Clojure WAR와 비슷한 문제가 발생 했습니까?
내가 실행하려고 서블릿은 다음과 같습니다
;; src/myapp/MyServlet.clj
(ns myapp.MyServlet
(:use compojure)
(:gen-class
:extends javax.servlet.http.HttpServlet))
(defroutes greeter
(GET "/"
(html [:h1 "Hello World"])))
(defservice greeter)
내가
(run-server {:port 8080}
"/*" (servlet greeter))
으로 (defservice greeter)
를 교체 할 때 내가 브라우저에서이 액세스 URL을 실행할 수입니다.
그러나 아파치 톰캣에서 실행할 때, 나는 여전히 같은 문제에 직면 해있다.
에서 작동
을 나는 내 서블릿을 테스트하려면 다음이 잘 실행했다. (실행 서버 {: 포트 8090} \t "/ *"(서블릿 greeter)) –