Интересно не только, что такое Facet, но и что такое Facet 'на физическом уровне' (как я понимаю, это'не отдельный кувшин, но какой?)?
Также интересно, как это может повлиять на мое приложение после развертывания. Поясню на реальном примере:
У меня было 2 фасета (которые были созданы в IDE): Spring Facet и Web Facet (для jsf). Я развернул их на Tomcat, и мое приложение работало нормально.
Затем я добавил (с помощью IDE) еще один фасет - JPA Facet. Я переразвернул приложение и... оно по-прежнему работало нормально :)
Итак, мне просто интересно, что это такое и зачем оно нам нужно?
Это не относится к Java EE. Это связано с IDE. Сам по себе этот термин не имеет отношения к программированию.
С сайта http://www.thefreedictionary.com/facet
fac·et (fst) n.
- Одна из плоских полированных поверхностей, вырезанных на драгоценном камне или встречающихся естественно, на кристалле.
- Анатомия Небольшая, гладкая, плоская поверхность, как на кости или зубе.
- Биология Одна из линзоподобных зрительных единиц сложного глаза, как у насекомого.
- Один из многочисленных аспектов, как у предмета. См. синонимы в фаза.
It's 4.
В данном конкретном случае это просто аспект, который должен использоваться в проекте, чтобы IDE могла перехватывать на него генераторы, мастера, автовключение библиотек и так далее. Если вы добавите, например, фасет JPA, то получите больше возможностей для IDE-магии с JPA.
Как сказал BalusC, это не связано с Java EE, а связано с IDE. Это позволяет гибко добавлять "характеристики" в проект.
Из статьи IntelliJ IDEA Q&A for Eclipse Users (поскольку вы упомянули IDEA):
Q: Фасеты - для чего они нужны?
A: Для оптимизации конфигурации проекта.
Фасеты инкапсулируют поддержку различных фреймворков, технологий и языков. Например, чтобы включить Spring в вашем проекте, вам достаточно добавить соответствующий фасет. Все библиотеки загружены и настроены, вы получаете полный спектр помощь в кодировании, рефакторинге и т.д. Более того, модель кода также > распознается. распознана, поэтому вы полностью свободны от беспокойства по поводу каких-либо конфигурационных проблем.
В большинстве случаев вы можете добавить более > одного фасета. одного фасета одного и того же типа в свой проекта. Например, вы можете иметь несколько веб-фасетов для развертывания приложения на различных серверах, или несколько фасетов EJB, каждый для своей версии EJB. (См. также раздел Проект Конфигурация).
И да, Eclipse тоже использует "фасеты":
AFAIK, NetBeans этого не делает (см. Q: Как настроить веб-фреймворк для своего проекта?).
Как объяснено в затмение &ампер; Intellij документации, аспектов определить характеристики и требования (определенные конфигурации, специфичные для конкретной базы и технологии).
При добавлении фаски к проекту, что проект настроен на выполнение определенных задач, выполнения определенных требований, или иметь определенные характеристики.
Вкратце вы должны следовать некоторые структуры, чтобы реализовать какие-то рамки и технологии. Эйдос есть варианты для его реализации для вас, чтобы сделать вашу жизнь проще.
Чтобы разработать это в деталях я даю некоторые тщательные детали непосредственно из Eclipse документации. Это затмение конкретных.
А создание проекта вы получите возможность реализовать фаской для вашего проекта. Например, фасет ухо настраивает проект, чтобы функционировать в качестве корпоративного приложения путем добавления дескриптора развертывания и настройка проекта's на пути к классу.
Чтобы добавить еще одну грань к проекту, что уже существует, выполните следующие действия:
Примечание: перечислены только те грани, которые являются допустимыми для проекта
Некоторые аспекты не могут работать вместе. Таким образом, вы можете также выбрать заготовку сочетание граней из списка предустановки.
Аспекты также имеют номера версии в Eclipse. * Вы можете изменить номер версии граней]1** до тех пор, пока вы остаетесь в пределах требований к грани. Чтобы изменить версию аспекта вашего проекта, выполните следующие действия:
Вы можете делать больше вещей с гранями. Я привел примеры для лучшего понимания. Для деталей, пожалуйста, просмотрите документацию на ваш любимый IDE.
Facets - это фреймворк для веб-приложений, использующий простую архитектуру MVC для серверной части и многофункциональную компонентную модель Javascript для клиентской. Эти две части разработаны таким образом, чтобы их можно было легко интегрировать для создания очень динамичных приложений в стиле AJAX.