Класс не найден, исключение в WebLogic, отлично в TomCat - PullRequest
1 голос
/ 29 марта 2012

Я использую два сервера, один - Tomcat, а другой - WebLogic.Я разработал два приложения, одно из которых является Main-Application, а второе - commons-application.Я добавил кварцевый JAR в приложение commons, экспортировал его как JAR и добавил в Main-Application.Для импорта кварцевого JAR в приложение commons я создал папку lib и указал ее путь в конфигурации пути сборки.Теперь, когда я запускаю Main-Application, он выдает ошибку, что класс не найден, связанный с кварцем.Поэтому я добавляю кварцевый JAR-файл в основное приложение и запускаю снова, чтобы он работал нормально.Но когда я запускаю ту же конфигурацию в WebLogic, она выдает ту же ошибку (класс не найден).Что мне не хватает?Нужно ли делать что-то еще для WebLogic?

1 Ответ

0 голосов
/ 29 марта 2012

Не уверен насчет приложений основного метода, но в веб-приложениях мы должны предоставить предпочтение нашим файлам пути к классам.Weblogic, являющийся сервером приложений, предоставляет свои собственные фляги и другие сервисы.И по умолчанию он предпочитает использовать свои собственные банки.Так что, если вы хотите использовать свои собственные jar-файлы, которые находятся в пути к классам вашего проекта, то вы должны упомянуть об этом.Tomcat, являющийся контейнером сервлета, не имеет своих собственных jar-файлов, поэтому по умолчанию он ссылается на ваши библиотеки.Смотрите предпочтительные веб-классы inf.

http://docs.oracle.com/cd/E24329_01/web.1211/e21049/weblogic_xml.htm

<container-descriptor>
    <prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

Подобные настройки пути к классам должны быть доступны для приложений основного класса, я думаю.банки не должны быть встроены в другие банки.(Я думаю, что вы встраиваете кварты в другой общий jar. Основное приложение должно иметь два jar: commonsapp.jar и quartz.jar в своем classpath.)

...