Unknown macro: {style}


Unknown macro: { margin}
Unknown macro: {div}
Kaa releases
Unknown macro: {div}

Page tree
Skip to end of metadata
Go to start of metadata

This page describes how to build the Kaa server from the source code available on GitHub.

Before building the Kaa server from source, ensure that Oracle JDK 8 and Apache Maven are installed on your machine.

Fetching source code

It is allowed to use any Git client to fetch the Kaa source code from the repository.

Download Kaa repository as follows:

$ git clone https://github.com/kaaproject/kaa.git

To build Kaa node Debian/RPM packages, execute the following command.

$ mvn -P compile-gwt,mongo-dao,mariadb-dao clean install verify
$ mvn -P compile-gwt,mongo-dao,mariadb-dao,build-rpm clean install verify

The Debian build will work correctly on both Linux and Windows operation systems, while the RPM build will work only on Linux operated machines with the RPM tool installed.

For the mvn command, the build number and git commit variables are set to emulate Jenkins build variables that are substituted automatically on the build machine.

Please add "-DskipTests" suffix to the mvn command in order to skip execution of tests and speed up build process.

Available maven profiles

Maven profileDescription
build-rpmAs implied in the profile name, it will force to generate .rpm packages. This is useful if you are going to install Kaa on .rpm based Linux distribution (Red Hat Linux, Oracle Linux, etc.)
Forces Kaa to use Cassandra NoSQL storage. If none is set MongoDB used by default.
Forces Kaa to use MongoDB NoSQL storage. Enabled by default.
Forces Kaa to use PostgreSQL SQL storage. If none is set MariaDB used by default.
Forces Kaa to use MariaDB SQL storage. Enabled by default.
compile-gwtCompiles administration user interface. Can be skipped during regular builds.
compile-client-cCompiles C endpoint SDK and executes tests.

Compiles C++ endpoint SDK and executes tests.


Compiles Objective-C endpoint SDK and executes tests. Compiling only possible on OS X and CentOS operation systems.

compile-thriftForces Thrift compiler to generate code from thrift files.
cassandraCompiles Cassandra log appender.
cdapCompiles CDAP log appender.
Compiles Couchbase log appender.
Compiles Kafka log appender.
Compiles  Oracle NoSQL log appender.
Forces Kaa to execute integration tests.
licenseForces Kaa to use Maven License plugin.

compile-client-* profiles are optional. All endpoint SDKs will be available in Kaa node by default. This profiles are used only for verification of endpoint SDK build during development.

Build artifacts

The following command can be used to browse the Kaa node build artifacts in case of successful build.

$ ls server/node/target/kaa-node.deb
$ ls server/node/target/rpm/kaa-node/RPMS/noarch/kaa-node*.rpm

Installing Kaa

Follow the official installation guide.


Copyright © 2014-2016, CyberVision, Inc.

  • No labels


  1. I'm very much new to this, How do i deploy the samples, Please help here!

  2. $ cat /etc/lsb-release
    DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"

    $ java -version
    java version "1.8.0_91"
    Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
    Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

    $ mvn -P compile-gwt,mongo-dao,mariadb-dao clean install verify

    Got error:


    1 error
    [ERROR] Caused by: java.security.NoSuchAlgorithmException: SHA-256 MessageDigest not available
    [ERROR] Caused by: SHA-256 MessageDigest not available


    Would like to know how to resolve it ?