что означает "библиотеки классов на пути к классам"? - PullRequest
1 голос
/ 19 июля 2009

Кто-нибудь может уточнить значение библиотек классов на пути к классам в случае Tomcat в следующей строке:

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

Что они означают с библиотеками классов и classpath в предыдущем абзаце?

Ответы [ 2 ]

2 голосов
/ 19 июля 2009

classpath - это список мест, где JVM должна искать классы. По умолчанию в нем есть такие вещи, как rt.jar и vm.jar, которые содержат классы, такие как java.lang.String. Вы можете добавить каталоги и jar-файлы в путь к классам, чтобы виртуальная машина могла найти классы, отличные от установленных по умолчанию.

A class library - это набор классов, упакованных для использования приложениями. Для практических целей это баночка с полезными классами, такими как junit.jar.

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

2 голосов
/ 19 июля 2009

Похоже, что они различают файлы .class в вашем веб-приложении, упакованные в файл WAR с использованием стандартной идиомы WEB-INF, и файлы на самом сервере приложений (например, в server / lib и common / lib). для Tomcat 5.x и lib для Tomcat 6.x).

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

ОБНОВЛЕНИЕ: Если ваше понимание CLASSPATH является вашей проблемой, вам нужно знать, что все WEB-INF / классы и в JAR-файлах под WEB-INF / lib в вашем развертывании находятся в CLASSPATH вместе с JAR-файлами, которые установлены на вашем сервере приложений. что все развернутые приложения разделяют. Вот что я имел в виду, когда говорил общие / lib и server / lib для Tomcat 5.x и lib для Tomcat 6.

Не думаю, что понимаю ваш вопрос. Вы не понимаете CLASSPATH? CLASSPATH - это все места, которые JVM знает для поиска, когда ей нужен файл .class, который еще не загружен. Это включает в себя JAR-файлы, доступные для всех приложений, развернутых в Tomcat и WEB-INF / classes и каталоги WEB-INF / lib для вашего конкретного развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...