Я работаю с основанным на Compojure веб-приложением Clojure в IntelliJ, используя Maven в качестве менеджера зависимостей. Он основан на приложении, которое я нашел в этом git, на который ссылается этот пример. Когда я пытаюсь запустить приложение с использованием конфигурации IntelliJ Tomcat6, он терпит неудачу каждый раз при цитировании исключения сервлета:
javax.servlet.ServletException: Wrapper cannot find servlet class tracker.core or a class it depends on
Кроме того, глядя на web.xml, IntelliJ не распознает класс сервлета (выделяется tracker.core).
Немного фона:
Это приложение изначально было построено как доказательство концепции для клиента и написано моим коллегой, который недавно покинул компанию. У меня лично нет опыта работы с Clojure после работы над этим проектом в течение последних двух дней. Используя сервер звонков Leiningen, я могу успешно запустить приложение в причале. Используя leiningen ring uberwar, полученная война успешно развертывается и запускается в tomcat.
Исходная структура файла выглядит так:
/tracker-webapp
/classes
/lib
/resources
/src
/tracker
/core.clj (and other *.clj files)
/test
project.clj
Новая mavenized файловая структура теперь отражает пример в ранее упомянутом git repo:
/tracker-webapp
/src
/main
/clojure
/tracker
/core.clj (and other *.clj files)
/webapp
/WEB-INF
/web.xml
/pom.xml
Мой web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Simple Clojure WebApp</display-name>
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>tracker.core</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myservlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Другие ресурсы
Я собирался опубликовать другие ресурсы, которые я просмотрел в этом разделе, но поскольку я - Qaru Newb, я получаю только две ссылки:/