От къде да започна?
От тук!
За да работи дадено уеб приложение на
Tomcat е необходимо то да се разгърне по някакъв начин на сървъра... тази част я прескачам и минавам нататък! Оказва се, че когато се опитвам да извикам клас чрез тага
<% jsp:useBean ... %> ако класът ми се намира в
default пакета сървъра дава грешка от рода на
"Еди-кой-си тип cannot be resolved to a type". След много часове размишления и няколко теста установих, че ако
само преместя класа в произволно избран от мен пакет, стига да не е подразбиращият се и всичко тръгва.
От директорийна гледна точка се оказва, че ако имам даден клас, който се намира в
/WEB-INF/classes/, то този клас все едно не съществува за приложението, но ако класът е разположен например в
/WEB-INF/classes/mypackage/ то класът е достъпен след като го извикам от пакета му.
Може би е от значение да спомена, че използвам
Tomcat 5.5.12 и ми е интересно на какво се дължи този феномен?! Не съм единственият, който има проблеми с това, но всички решения са еквивалентни на моето, т.е. разполагане на класовете в отделни пакети.
Само че е глупаво да не се спомене никъде в документацията този факт. И дали има някакъв начин да се "заобиколи" това ограничение по някакъв начин? Например да се пренапише
classloader-а на контейнера
? Или някой по-лесен?!