2013-12-04 4 views
0

По разным причинам, которые временно мешают мне выполнить полную перекомпиляцию и повторное развертывание, я хочу, чтобы горячая замена библиотеки .jar на приложение в Websphere. Я хочу заменить библиотеку xyz-1.7.jar с предыдущим номером версии, xyz-1.4.jar.Замените lib в Websphere 8.5 вызывает NoClassDefFoundError

Я нашел файл .jar в

/AppServer/profiles/$AppServer/installedApps/$Cell/$App.ear/ 

и заменил его предыдущей версии, а затем перезапустить сервер, используя

./startServer.sh $myServer 

После того, как был запущен и работает, я войти в систему приложение, чтобы найти его, бросая NoClassDefFoundErrors.

Я включил параметр «Загрузка трассировки класса» в Websphere и обнаружил, что ни одна из версий .jar lib не загружается.

Я изменил .jar lib в нужном месте?

Я знаю из некоторого опыта в Tomcat и JBoss, мне нужно будет изменить неразорвавшийся файл .ear вместо развернутого развернутого каталога, но Websphere для меня новичок. Можно ли делать то, что я пытаюсь?

+1

Вы должны быть в состоянии заменить банку в App.ear/App.war/WEB-INF/lib. Я не уверен в барах на более высоком уровне. Правильно ли переписаны ваши права на файлы с файлами jar? Кроме того, вы остановилиServer.sh перед запускомServer.sh? – dbreaux

ответ

1

Первая проверка из консоли, что параметр «Enterprise Applications> APPNAME> Класс нагрузки и обновление обнаружения>Перезагрузить классы, когда файлы приложения обновляются» является включен и интервал опроса для обновленных файлов установлен на положительное стоимость.

Если не включить его и перезапустить приложение.

Затем вы можете обновить банку внутри installedApps заботиться о разрешениях на чтение файлов.

Однако почему вы не используете «Замените или добавьте один файл» в качестве опции обновления с консоли WAS? Просто введите относительный путь банки внутри вашего EAR внутри «Укажите путь, начинающийся с установленного файла архива приложения, в файл, который нужно заменить или добавить», и вы закончили.

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