Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

This guide explains how to get the Roller source code, build it with Maven, test it with Maven and run it via Maven, Jetty and Derby (recommended for development test purposes only). This build build applies to the current Roller trunk. Roller 5.1 requires JDK 1.7 or newer; Roller 5.0.x requires just JDK 1.6.


There are two ways to get the source code, from the project's Subversion Git repository or from a source release. Here's how to get the Roller trunk (5.1.x branch) code from Subversioncode directly from the Git repo:

Code Block
   svngit coclone roller_trunk 

For the older (5.0.x) release branch:

Code Block
   svn co roller_50 

Replace "http://" with "https://" in the above URLs if you are presently a Roller committer committer (i.e., have write access to Roller).:

If you are a GitHub user, you might find it easier to fork the Roller GitHub Repo:

Build Roller Weblogger

Here's how to build Roller Weblogger (also runs the unit tests).

Code Block
   cd roller_trunk 
   mvn clean install 

Run Roller Weblogger for development testing

Here's how to run the Jetty servlet engine, Derby and Roller for development testing of Roller:

Code Block
   cd roller_trunk/app
   mvn jetty:run

Then use your web browser to browse to http://localhost:8080/roller to test Roller. You will find the log files in roller_trunk/app/target/work. You can adjust logging levels via the Roller properties override file at roller_trunk/app/src/test/resources/ Note the blog information stored during each mvn jetty:run session will be lost once you stop Jetty (i.e., each mvn jetty:run starts with empty Roller database tables), however deploying Roller this way allows for hot (real-time) deployment of your JSP and CSS/JavaScript to the running application.


Check the Roller Install guide for deployment information instructions on Tomcat, GlassFish, or JBossdeploying Roller to Tomcat and other web servers. Unlike mvn jetty:run above, these deployments will persist data to non-temporary databases so you don't have to start from scratch with each run.