Operating System/Environment

Building/compiling OpenNMS requires running a *nix system. You do not need to run it physically; a virtual machine is sufficient. We recommend one of the following:

This documentation describes a Debian-based desktop environment.

Installation

Follow these instructions to set up your environment. They may vary depending on your operating system:

# add OpenNMS as repository to install icmp and such
echo "deb http://debian.opennms.org stable main" > /etc/apt/sources.list.d/opennms.list
echo "deb-src http://debian.opennms.org stable main" >> /etc/apt/sources.list.d/opennms.list
# Add pgp key
wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -

# overall update
apt-get update

# install stuff
apt-get install -y software-properties-common
apt-get install -y git-core

# install Oracle Java 8 JDK
# this setup is based on: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
add-apt-repository -y ppa:webupd8team/java
apt-get update
apt-get install -y oracle-java8-installer
apt-get install -y oracle-java8-set-default

# install and configure PostgreSQL
apt-get install -y postgresql
echo "local   all             postgres                                peer" > /etc/postgresql/9.3/main/pg_hba.conf
echo "local   all             all                                     peer" >> /etc/postgresql/9.3/main/pg_hba.conf
echo "host    all             all             127.0.0.1/32            trust" >> /etc/postgresql/9.3/main/pg_hba.conf
echo "host    all             all             ::1/128                 trust" >> /etc/postgresql/9.3/main/pg_hba.conf
# restart postgres to use new configs
/etc/init.d/postgresql restart

# install OpenNMS basic dependencies
apt-get install -y maven
apt-get install -y jicmp jicmp6
apt-get install -y jrrd

# clone opennms
mkdir -p ~/dev/opennms
git clone https://github.com/OpenNMS/opennms.git ~/dev/opennms

After this you should be able to build OpenNMS:

cd ~/dev/opennms
./clean.pl
./compile.pl -DskipTests
./assemble.pl -p dir

For more information on how to build OpenNMS from source, check this article How to compile OpenNMS?.

Tooling

We recommend the following toolset:

General