RAD не будет развертывать файлы классов на работающем сервере websphere (локальная разработка0 - PullRequest
2 голосов
/ 12 ноября 2010

Среда: WinXP.RAD: Версия: 7.5.3 (Eclipse 3.4.2) Websphere 6.1

У меня есть два веб-проекта в моей локальной среде RAD и 4 или 5 проектов sub jar.Когда я меняю классы в режиме отладки и обычного запуска, файлы не копируются на сервер для выполнения.

Поэтому обычно мне приходится полностью перезагружать сервер или добавлять / удалять проект все вместе.

Я могу внести изменения в Servlet.java

Когда я делаю "публикацию", кажется, что перезаписывается ухо / приложение, но мои изменения отсутствуют.Поэтому я обычно перезагружаю сервер.Это убийца производительности.

Дополнительные настройки:

* Publish automatically turned off.
* Minimize resources. Use workspace.

Что можно сделать, чтобы убедиться, что классы скопированы.

Мои теории:

У меня есть parent_first / application для настроек загрузчика классов / war.Это проблема?Может быть, мне следует убрать ухо и добавить его обратно в веб-сферу, где я провел чистку на сервере?

Ответы [ 4 ]

5 голосов
/ 18 ноября 2010
  1. Удалить приложение с сервера.
  2. Перезагрузите сервер
  3. Перейдите в консоль администратора и убедитесь, что приложение не указано в списке приложений, если оно затем удаляется.
  4. Перезагрузите сервер
  5. Развернуть / опубликовать снова.
2 голосов
/ 13 июня 2014

К сожалению, RAD с WebSphere - очень нестабильная среда.

По моему опыту, режим debug вызывает много проблем. Это в основном то, что вы описываете, изменения не видны после повторной публикации, кроме того, очень быстрое истощение памяти. Я использую режим отладки как последний отчет .

В нормальном режиме все должно (читай: в большинстве случаев) работать правильно. Вы добавляете / меняете некоторые классы и делаете «переиздание». Иногда необходимо выполнить clean для проекта перед его повторной публикацией.

Но когда Websphere работает дольше вместе с RAD, я наблюдаю, что часто что-то застревает. У вас есть опция clean на сервере, с ожидается, что очистит кеш (который включает также скомпилированные классы). Вы также должны наблюдать за использованием памяти. Если он приближается к пределам JVM (утечки памяти велики), Websphere перестает работать правильно, и вы должны перезапустить его.

Однако у меня иногда возникают серьезные проблемы, когда очистка не помогает, а затем необходимо удалить все приложения, остановить веб-сферу (закрыть все проекты и снова открыть), а затем запустить Websphere и добавить все приложения, перезапуская RAD в то же время. Но это не каждый день, может каждый месяц или около того ...

Если вам действительно не повезло, RAD может сломать ваше рабочее пространство, что заставит вас удалить весь проект, удалить файлы проекта (или сделать новую проверку) и импортировать все заново, или даже запустить новое рабочее пространство (происходит также с «обычным» Eclipse, ~ 1-2 года).

0 голосов
/ 18 ноября 2010

Правильно ли скопированы ваши JSP?То есть, когда вы вносите изменения в одну JSP, вы можете увидеть изменения сразу после обновления браузера?Если это работает, то я не вижу причин, по которым классы также не публикуются.Автоматическое обновление JSP должно работать в обычном режиме и в режиме отладки.

Теперь, включено ли автоматическое построение?Если нет, ваши классы не будут скомпилированы и перенесены.Parent_first / application для загрузки классов не должен быть проблемой.

Является ли локальное приложение.сервер работает в режиме разработки?Если нет, то должно быть.

При разработке используйте режим отладки.Горячее развертывание обеспечит немедленное изменение ваших методов.Изменения в классах не будут видны (т.е. добавление метода потребует перезапуска приложения).

Является ли ваше приложение.сервер использует глобальную безопасность?У меня он выключен и автоматическое повторное развертывание работает без проблем.

Перезагрузка классов всегда была проблемой при разработке приложений Java EE.Попробуйте стереть этот файл с ухом из WAS и заново развернуть его.

Если ничего не помогло, попробуйте JRebel .

0 голосов
/ 18 ноября 2010

Вы используете последнюю версию RAD, поэтому я ... вот мое руководство по решению этой проблемы:

  • Включите журнал ошибок, чтобы увидеть, если вы получаете интуитивно понятную информацию о внутренних ошибках RAD, в 7.5 он доступен на «Показать представления»
  • Если ваши изменения не развернуты Чистый проект
  • Если ваши изменения еще не развернуты, перестроить проект
  • Если ваши изменения еще не развернуты, повторно разверните проект
  • Если ваши изменения еще не развернуты, Очистите сервер
  • Если ваши изменения еще не развернуты, перезагрузите сервер

Или: - Используйте ant или maven, чтобы сделать развертывание простым и игнорировать боль из-за наличия в веб-сфере и затмении внутренних ошибок (которые вы можете увидеть в журнале ошибок, если он полностью включен).

Привет.

...