Mojarra is the name of the JavaServer Faces reference implementation. In September 2015 the source moved from a Subversion based control system to a Git based server. This blog explains, how to download and compile the bleeding JSF version.

The project home page is [1] and the repository URL is [2].

NetBeans directly supports a couple of version control systems, amongst others Git. Simply choose the menu “Team -> Git -> Clone”. NetBeans displays a dialog which allows you to enter the Git URL.


The next screen shows all available branches. Master is pre-selected.

MojarraBranchCloning JSF will take a while, depending on your internet connection.

Next, you have to configure the system. During this article, we’ll configure Mojarra to use GlassFish on a Windows system.

Originally Mojarra used Ant as build system. Nowadays some parts are ported to Maven. But the outer frame is still Ant based. Thus, Maven is controlled by Ant and not by the IDE.
Although NetBeans comes along with a bundled Maven, we can’t use Maven without configuration. The build script relays on some environment variables which are not set by the IDE (they are not needed if you handle a pure Maven based project with NetBeans).
Furthermore NetBeans uses an elder version of Maven. If you prefer the latest version, get it from its website [3].

You need to define the M2_HOME variable, pointing to your Maven folder, e.g. “D:\apache-maven-3.3.3” or in case of bundled Maven “C:\Program Files\NetBeans 8.1 Beta\java\maven” (replace “NetBeans 8.1 Beta” with your version).
And you need to define the JAVA_HOME variable, e.g. “C:\Program Files\Java\jdk1.8.0_60”.

Next, locate you Mojarra folder. You’ll find some files where XXX stands for an application server. We will use GlassFish, which is bundled with NetBeans.
Copy to and open this file using a text editor. Search for “” and set this to the folder you cloned the Mojarra sources into.

If you’ve downloaded the latest Maven version, a last step is needed: On Windows, Mojarra tries to run mvn.bat. The latest version comes with a mvn.cmd file. Thus it cannot run the proper file. One solution would be to modify Ant scripts

<property name=”mvn.cmd” value=”mvn.bat”/>

This can be replaced by

<property name=”mvn.cmd” value=”mvn.cmd”/>

(at four places at all)

But it would be better to keep the files unchanged (the JSF contributors might change it). Simply go to your Maven bin folder and create a mvn.bat file which calls mvn.cmd:

 D:\apache-maven-3.3.3\bin\mvn.cmd %*

[2] git://