Tomcat6 отказывается распознавать классы в папке WEB-INF / classes - PullRequest
0 голосов
/ 19 февраля 2012

Вместо того, чтобы использовать определенный jar в моей папке WEB-INF / lib, я хочу использовать его исходный код (ту же структуру каталогов и все остальное) в моей папке WEB-INF / classes, чтобы иметь возможность изменять его классы больше истории.

Тем не менее (перезапуск моего tomcat после удаления исходного jar-файла и загрузки соответствующего каталога в WEB-INF / classes дает мне следующую ошибку:

SEVERE: Error configuring application listener of class no.something.something1.http.LifecycleListener
java.lang.ClassNotFoundException: no.something.something1.http.LifecycleListener

Я уверен, что путь к каталогу такой же, как и в банке. Кроме того, ранее я пытался использовать классы в своей папке WEB-INF для этого веб-приложения, и tomcat также по какой-то причине не смог их загрузить.

Кто-нибудь знает, как я могу устранить эту ошибку?

Ответы [ 2 ]

1 голос
/ 19 февраля 2012

Tomcat может загружать только .class файлы, он не знает, что делать с файлами необработанного исходного кода. Tomcat в любом случае не выполняет горячую загрузку .class файлов. Вам придется перезапустить приложение или сервер после того, как вы перекомпилируете их в любом случае, упаковав их как .war не так уж и обременительно в любом случае , как только вы автоматизируете его .

Если вы потратите время на автоматизацию сборки и развертывания правильного .war, вы можете просто перестроить .war, и он автоматически развернет и повторно развернет само приложение, что во много раз быстрее, чем перезапуск всего сервера.

Вы не можете делать то, что вы пытаетесь сделать так, как вы пытаетесь это сделать. Такие инструменты, как JRebel, решают эти проблемы, но я не нахожу их такими полезными, поскольку их маркетинг заставляет их звучать.

0 голосов
/ 21 февраля 2012

Вы можете использовать встроенный tomcat (или встроенный джет) для отображения структуры каталогов приложения, как вам нравится. Вероятно, потребуется немного поработать, если вам нужны некоторые ресурсы JNDI в вашем приложении, но все же стоит потраченных усилий.

Вот пример

...