Нужен ли мне JSF-api или JSF-impl или оба, чтобы начать использовать JSF? Почему они не объединены?

Я начал изучать JSF, и я хотел бы знать, что такое JAR для включения в наш classpath, чтобы начать использовать JSF. Это jsf-api или jsf-impl? Или мы должны включить обе? А если и то и другое, то почему они не слиты?

1 ответов


Я предполагаю, что вы не используете настоящий сервер приложений Java EE, как WildFly, TomEE, GlassFish и т. д., Но контейнер barebones JSP / Servlet, такой как котяра которые действительно не корабль с JSF из коробки и вы должны установить его вручную. Иначе вся эта возня с банками не нужна.


это jsf-api или jsf-impl? Или мы должны включить как?

вы нужны оба. The jsf-api.jar содержит API, которые существуют почти только абстрактные классы и интерфейсы. Это javax.faces.* типы, которые вы импортируете и использовать в коде. The jsf-impl.jar содержит реализацию, которая существует реального рабочего кода. Реализация внутренне загружается через фабрики в API. Это com.sun.faces.* классы, которые вы не предполагается импортировать и использовать непосредственно в коде. Если у вас, тогда вы не сможете переключиться на другую реализацию JSF, такую как MyFaces.


и если это так, то почему они не объединяются?

существует объединенная банка,javax.faces.jar. Ты можешь выбрать эту вместо двух свободных банок. Просто перейдите к скачать на Домашняя страница Mojarra найти по ссылке репозитории Maven С javax.faces.jar файлы. В настоящее время последний Mojarra версия 2.2.11, чтобы забрать javax.faces-2.2.11.jar.

Читайте также: