Подтвердить что ты не робот

Где следует помещать beans.xml?

Я только что обновил NetBeans 7.1 с 7.0. При открытии управляемого JSF bean он "помог" сказал мне, что он не может найти мой beans.xml файл, поэтому мне бы это понравилось для меня. Я знал, что у меня есть файл beans.xml под WEB-INF, но я все равно сказал "да", чтобы узнать, что произошло. Новый beans.xml был создан в META-INF для меня.

Думаю, что я допустил ошибку. Я удалил файл под WEB-INF только для отказа приложения при запуске. Ввод beans.xml обратно в WEB-INF исправил эту проблему. Кажется, что эта страница думает, что оба места действительны: http://seamframework.org/Documentation/WhatIsBeansxmlAndWhyDoINeedIt

Итак, вопрос в том, какая папка должна beans.xml жить в WEB-INF или META-INF?

Я запускаю GlassFish 3.1.1 и Java 7

4b9b3361

Ответ 1

Имея beans.xml, помещенный в каталог WEB-INF, подходит в вашем случае, потому что наиболее вероятно beans находится под классами WEB-INF.

Правильное место для beans.xml зависит от типа архива и расположения классов bean.

В спецификации это объясняется следующим образом:

Bean классы с включенным beans должны быть развернуты в архивах bean.

  • Библиотека jar, баннер EJB, jar или rar-архив приложения - это архив bean, если он имеет файл с именем beans.xml в каталоге META-INF.
  • Каталог WEB-INF/classes войны - это архив bean, если в каталоге WB-INF войны есть файл с именем beans.xml.
  • Каталог в пути JVM class является архивом bean, если он имеет файл с именем beans.xml в каталоге META-INF.