Skip to main content

Prerequisites

Required Software

1

Install Java 17

Sakai requires Java 17 for the current trunk development (Java 11 was used for Sakai 22 and 23).
# Verify Java version
java -version
You should see Java 17 or higher.
2

Install Apache Maven

Maven is used to build Sakai from source. You can either install Maven system-wide or use the included Maven wrapper (./mvnw).
# Verify Maven installation (optional)
mvn -version
3

Install Apache Tomcat 9

Download and extract Apache Tomcat 9 from http://tomcat.apache.org.
Do not install Tomcat via package managers (apt-get, yum, etc.). Sakai requires a manual Tomcat installation.
# Example extraction
tar -xzf apache-tomcat-9.x.x.tar.gz
export TOMCAT_HOME=/path/to/apache-tomcat-9.x.x
4

Configure Tomcat

You must configure Tomcat according to the Sakai installation guide:Sakai 21 Install Guide - SourceThis includes setting up memory parameters, library paths, and Sakai configuration directories.

Clone the Repository

Fork and Clone

1

Fork the Sakai repository

Fork the Sakai repository to your GitHub account.
2

Clone your fork

git clone https://github.com/YOUR_GITHUB_USERNAME/sakai.git
cd sakai
3

Add upstream remote

git remote add upstream https://github.com/sakaiproject/sakai.git
4

Keep your fork updated

git checkout master
git pull upstream master
git push origin master

Database Setup

Sakai supports multiple databases for development:
# Install MySQL or MariaDB
# Create database and user
mysql -u root -p
CREATE DATABASE sakai DEFAULT CHARACTER SET utf8mb4;
GRANT ALL ON sakai.* TO 'sakaiuser'@'localhost' IDENTIFIED BY 'sakaipassword';

IDE Setup

IntelliJ IDEA

1

Import as Maven project

Open IntelliJ IDEA and select File > Open, then choose the Sakai root directory.
2

Configure Project SDK

Ensure the Project SDK is set to Java 17:
  • File > Project Structure > Project > SDK
3

Enable annotation processing

  • File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors
  • Check “Enable annotation processing”

Eclipse

1

Import as Maven project

  • File > Import > Maven > Existing Maven Projects
  • Select the Sakai root directory
2

Configure Java version

Ensure Eclipse is using Java 17 for the project.

VS Code

1

Install Java extensions

Install the following extensions:
  • Extension Pack for Java
  • Spring Boot Extension Pack
  • Maven for Java
2

Open workspace

Open the Sakai root directory in VS Code.

Frontend Development Setup

For working with Sakai’s web components:
1

Install Node.js

Install Node.js 18 or higher from nodejs.org.
2

Navigate to frontend directory

cd webcomponents/tool/src/main/frontend
3

Install dependencies

npm install
4

Run linting

npm run lint

Verify Installation

Test your development environment:
# Build Sakai (this will take several minutes)
mvn clean install

# Or use the Maven wrapper
./mvnw clean install
If the build completes successfully, your development environment is ready.

Next Steps

Building Sakai

Learn how to build and deploy Sakai to Tomcat

Tool Development

Start developing Sakai tools and modules

Web Components

Build modern UI components with Lit

Contributing

Understand the contribution workflow

Build docs developers (and LLMs) love