2016-03-19 5 views
8

Я разрабатываю webapp с NetBeans и Glassfish 4.1.1. и я использую JSF и CDI для управления бэкэндами для facelets. Так как вскоре после того, как что-то менять в коде, я всегда получаю Внутренняя ошибка сервера с этим IllegalStateException после «успешной» развертывания и запуска приложения через браузер:org.jboss.weld.exceptions.IllegalStateException: WELD-000227 после каждого изменения кода

org.jboss.weld.exceptions.IllegalStateException: WELD-000227: Bean 

identifier index inconsistency detected - the distributed container 

probably does not work with identical applications 

я могу избавиться от него, делая чистый & сборки и передислокации. Но NetBeans передислоцирует автоматически после каждого сохранения в любом случае. Поэтому мне все еще нужно щелкнуть по чистой и сборке, а затем перераспределить себя ВСЕГДА после любых небольших изменений, это заставляет меня сходить с ума!

Итак, есть ли какие-либо настройки, которые я могу изменить на сервере из стекла, чтобы избежать этого, или я могу сказать NetBeans, чтобы очистить & сборку перед автозагрузкой?

Это было не всегда так, недавно я обновил старую рыбку, возможно, это появилось только после этого, я больше не помню.

Заранее благодарен! Это стоит мне так много времени ..

решаемых

Я снова гугла в течение нескольких часов и нашел решение: я установил новую систему собственность в GlassFish

org.jboss.weld.serialization.beanIdentifierIndexOptimization = ложные

, чтобы избежать возникающих несоответствий, как описано в ссылке WELD здесь:

https://docs.jboss.org/weld/reference/latest/en-US/html/configure.html#_bean_identifier_index_optimization

+0

Связанный: http://stackoverflow.com/q/28713747 – BalusC

+0

Спасибо за ссылку, вы правы, его та же проблема .. – BenSkeleton

+0

Как установить это свойство? Я борюсь с той же проблемой. –

ответ

8

Отключить beanIdentifierIndexOptimization в GlassFish следующим образом:

  1. Посетите консоли администратора на http://localhost:4848 (или https://127.0.0.1:4848/).
  2. Нажмите Конфигурации.
  3. Нажмите server-config.
  4. Нажмите Свойства системы.
  5. Нажмите Добавить объект.
  6. Set Instance Имя переменной к: org.jboss.weld.serialization.beanIdentifierIndexOptimization
  7. Установка Значение по умолчанию на: false
  8. Нажмите Сохранить.

Это должно помочь пассивации и решить следующие WELD bug: обнаружен индекс идентификатор Bean несогласованность:

WELD-000227.

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

  • Нет связанных вопросов^_^