Developers creating portlets for Liferay DXP 7.1 can package their portlets as
Java EE style Web Application ARchive (WAR) artifacts or as Java ARchive (JAR)
OSGi bundle artifacts. JSF portlet developers, however, must package their
portlets as WAR artifacts because the JSF framework expects a WAR layout and
often requires the
WEB-INF/faces-config.xml descriptor and other Java EE
resources such as the
Liferay provides a way for these WAR-styled portlets to be deployed and treated like OSGi modules by Liferay’s OSGi runtime. The WAB Generator does this automatically by converting your WAR artifact to a WAB at deployment time. You can learn more about WABs and the WAB Generator in the Using the WAB Generator tutorial.
This is how a JSF WAR artifact is structured:
- Java Classes
- Properties files
- Class files and related properties
- JAR dependencies
- CSS, XHTML, PNG or other frontend files
- XHTML views
Next, you’ll begin creating a simple JSF application that is deployable to Liferay DXP.