Mojarra currently has two different version control repositories available. You'll need to use the correct repository dependending on which version of JSF you're interested in working with.

It should be noted that in order to commit changes, you must have developer access. Please see this FAQ entry detailing the steps necessary to obtain such access.

It's also possible to check out the sources from either repository anonymously.

JSF 2.X development uses Subversion for source control. See these instructions for checking out the source using svn.

JSF 1.2/1.1 development uses CVS for source control. See these instructions for checking out the source using cvs.

For the latest version control tags and branches, please see this FAQ entry.


TortoiseSVN client

TortoiseSVN is a Windows Explorer shell extension, generally accessed via the right-click context menu on Explorer windows (including your Desktop).

  1. If this is your first Subversion checkout, create a folder in Windows Explorer to hold all of your Subversion project folders. Then create a subfolder for this project.

  2. Use Windows Explorer to navigate to the folder created to hold this project.

  3. Select File - SVN Checkout.... The SVN Checkout dialog box will appear. (You may also access this dialog by selecting SVN Checkout... from the context menu presented when you right-click on your Explorer window's background.)

  4. Enter the URL of the repository:

    https://svn.java.net/svn/mojarra~svn/trunk

    Click OK. Enter password.

  5. If you are prompted for authentication information, you must provide your username (rlubke) and password.

    Toggle the "save authentication" option to govern whether or not your username and password will be stored on your system. If left unselected, future invocations of TortoiseSVN will prompt you again for this information.

    Click OK. Enter password.

  6. You will see list of files scrolling by as the project data is checked out into your folder.

  7. Repeat the project checkout process for each additional Subversion project you wish to check out.

Subversion command-line client

The Subversion command-line client (svn) is used at a command shell, such as in a Command Prompt window on the Windows® platform, or any number of available shells on a flavor of Unix.

  1. Use svn checkout to checkout this project's main (trunk/) development branch:

    svn checkout https://svn.java.net/svn/mojarra~svn/trunk

  2. You will see list of files scrolling by as the project data is checked out into your folder.

  3. Repeat the project checkout process for each additional Subversion project you wish to check out.

  4. When you check out the code in this way, it is checked out anonymously. When you try to write to the repository, your are prompted for your java.net id and password. Only if your credentials are correct and you have the permission to write to the repository can you successfully do so.

    You can supply --username and --password arguments to the checkout command if you have the proper permissions.


In all cases with CVS and java.net you must use CVS+SSH. Follow the instructions on generating an SSH key, including the all-important step of installing the key to your java.net profile. Once you've done that, you must configure your CVS client to use SSH. There are many resources on the web for doing so, and this one was tested and known to work: <http://help.github.com/mac-key-setup/>. There are similar instructions for other operating systems. Generally, you have to set the CVS_RSH environment variable to point to your ssh binary. After your client is configured, you have to install the ssh key into java.net by following the instructions about profile settings.

Follow the instructions for the CVS client specific to your operating system for setting up CVS+SSH and note that the CVSROOT value is
:ext:<USERNAME>@java.net/cvs/javaserverfaces-sources~cvs-repository
where <USERNAME> is your java.net user name. A value of "guest" (without quotes) may work, but this hasn't been verified. Thus to checkout the sources for the latest development version of JSF 1.2 you would do:

cvs -d $CVSROOT checkout -r JSF_1_2X_ROLLING .

The trailing "." is very significant. Likewise for JSF 1.1 you would do:

cvs -d $CVSROOT checkout -r JSF_1_1_ROLLING .

If you wish to contribute to the project's CVS repository, you must have "write" permissions as a project member. Note: If your site requires an SSH tunnel for security purposes, you will need to set one up before you can commit modified files into the project repository.

More about SSH tunneling

CVS how-to guide for this site