Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Сервер не видит класс


Автор: lazycat 22.4.2010, 10:42
Доброго времени суток всем!

Вопрос совершенно чайный, даже стыдно задавать, но уже сутки ломлюсь и, похоже в открытую дверь.

Проблема такая. Есть у меня JAR-файл с классами. Ну, пусть один из них будет MyClass. Этот архив прописан в CLASSPATH.
Есть одна особенность в классе MyClass: он сделан в пакете по умолчанию. Понимаю, что нехорошо, но уже сделано.
Использую MyClass в скриптлете JSP, 
например, 

<%
MyClass myVar;
%>

JBoss сообщает, что он класса не видит. 
Ладно, в JBoss я чайник, но c Tomcat работаю давно. Перемещаю этот JSP в Tomcat. Тот же результат.

Пробую этот класс в обычном java-файле - компилируется javac и запускается java. То есть, архив в CLASSPATH прописал правильно.
Так что же не нравится серверам, если классические инструменты все устраивает?

Встречался ли кто-нибудь с подобным эффектом и знает ли как бороться?

Заранее благодарен всем откликнувшимся.


Автор: triclosan 22.4.2010, 11:58
В логе запуска томката посмотри, использует ли он CLASSPATH системы, если нет скопируй свой MyClass.jar в папку lib томката. Для экспорта в томкат глобально директорию lib ищи исходя из версии томката (локация ее менялась). Для приложения  - в myhost/WEB-INF/lib/

Если класс экспортируется, но ошибка не пропала проверь корректность своего JAR-пакета, например в маленькой тестовой программке, пока без всяких сервер-контейнеров.

Добавлено через 4 минуты и 34 секунды
Если в логах класс экспортируется - убедись, что он на страницу импортируется

Код

<%@page import = "MyClass" %>



Автор: lazycat 26.4.2010, 11:38
triclosan, большое спасибо за участие. Разобрался в причинах. Виной тому дурацкая привычка к месту и не к месту использовать пакет по умолчанию. Когда я перенес классы в пакет, все заработало.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)