Skip to content

Latest commit

 

History

History
97 lines (73 loc) · 3.18 KB

coregettingstarted.md

File metadata and controls

97 lines (73 loc) · 3.18 KB

Apache MyFaces Core - Getting Started

Build

Checkout from Apache GitBox or GitHub and run mvn clean install

Useful links

Usage

Apache MyFaces Core can be deployed to any Servlet Container (like Tomcat, Jetty) inside the WAR or inside the container (/tomcat/lib).
If you want to deploy it, instead of Mojarra, inside a Application Server like Glassfish or JBoss, please check the documentation of the Application Server.

We also have a Quarkus extensions since 2.3-next.

Dependency

<dependency>
    <groupId>org.apache.myfaces.core</groupId>
    <artifactId>myfaces-api</artifactId>
    <version>2.3-next-M3</version>
</dependency>
<dependency>
    <groupId>org.apache.myfaces.core</groupId>
    <artifactId>myfaces-impl</artifactId>
    <version>2.3-next-M3</version>
</dependency>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>

</web-app>

index.xhtml

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://xmlns.jcp.org/jsf/core"
  xmlns:h="http://xmlns.jcp.org/jsf/html">

  <h:head>

  </h:head>

  <h:body>

    Hello World!

  </h:body>
</html>

Quarkus

Since 2.3-next a Quarkus extension is available:

<dependency>
	<groupId>org.apache.myfaces.core.extensions.quarkus</groupId>
	<artifactId>myfaces-quarkus</artifactId>
	<version>${myfaces.version}</version>
</dependency>

The easiest way to getting started is to clone our sample project, which can be found here: https://github.com/apache/myfaces/blob/master/extensions/quarkus/showcase/

Not supported features:

  • Quarkus Uber-JARs are not supported (See: https://issues.apache.org/jira/browse/MYFACES-4427)
  • Quarkus does not support session replication / passivation / clustering
  • Quarkus beans are not serializable and therefore session passivation would never work anyway
  • Quarkus does not implement @ConversationScoped
  • Quarkus does not support injection in normal objects, therefore injection in JSF artifacts like NavigationHandler etc. is not supported

Differences to a normal servlet container while developing

  • You need to put your views under src/main/resources/META-INF/resources as Quarkus doesn't create a WAR and src/main/webapp is ignored!