2016-04-20 2 views
0

В настоящее время я работаю над приложением EAR, в котором есть проект WEB и проект EJB. Чтобы работать с eclipse с локальной настройкой, я делаю так много настроек пути сборки и всего. Все эти пути сборки отображаются в .classpath проекта.Использование и значение .Classpath в приложении EAR

Теперь, когда я экспортирую EAR и развертываю сервер, все работает на сервере. Мое сомнение в том, как сервер знает о моих локальных системных путях, которые присутствуют в .classpath моего проекта. Означает ли это .classpath не имеет значения во время выполнения?

Просьба пояснить.

ответ

2

.classpath файл является специфическим для eclipse, он не будет связан с EAR. Eclipse использует его для установки classpath для проекта.

EAR имеет четко определенную структуру, и контейнер Servlet понимает эту структуру, используя ее знания, которые он создает в файле EAR и извлекает классы для загрузки во время выполнения.

Очевидно, что сервер не знает о вашей локальной среде. Файл EAR (или WAR или JAR) является простым архивом (с некоторой спецификацией или файловым порядком и всеми). Вы можете разархивировать его с помощью любой утилиты (что-то вроде 7zip). Проверьте структуру упакованного EAR, что даст вам лучшее представление о том, что идет на ваш сервер.

0

Добавляя к тому, что @ 11thimension сказал, .classpath не имеет никакого значения во время выполнения. Он используется только для определения путей «сборки»: какие банки, библиотеки и т. Д. Ваш код нуждается во время компиляции.

зависимости времени выполнения совершенно различны и обрабатываются -
1. содержание MANIFEST.MF файла
2. Содержание WEB-INF/lib каталог вашей среды выполнения сервера WAR
3. - это поставляется в комплекте с сервером приложений, который вы используете - WEBSPHERE ,

Смежные вопросы