sudo apt install git
Installing MidPoint From Source Code
This guide provides instructions on installing midPoint from the source code.
This installation requires software development tools and expertise to build the product. It is recommended only to engineers who want to participate in midPoint development or have a deeper interest in the source code. Other users should consider a simpler installation using a distribution package or containers.
MidPoint 4.0 and later
This guide applies to midPoint 4.0 and later. For older releases, see Release Notes. |
Before You Start
There are few things to check before you start the installation:
-
Make sure to see the Release Notes for the list of environments that are known to work and for the list of known issues in the current release.
-
Make sure the System Requirements are met.
-
Development versions of midPoint are not yet finalized. There may be unfinished features, bugs, instability, and a variety of other issues. Use them at your own risk.
Prerequisites
MidPoint is a Java application, therefore it requires a Java platform to run on. Java 21 is the recommended platform for MidPoint 4.9.3. Alternatively, Java 17 can be used. Other Java platform versions are not supported. Java platform distributions based on OpenJDK are recommended. Other JDK builds (e.g. Oracle) may work as well, but those have a limited support for midPoint (see the Release Notes for details).
The JAVA_HOME
environment variable should point to the Java installation path.
Make sure you have the full Java Development Kit (JDK), not just the runtime environment (JRE). A full set of development tools is needed as you will be building midPoint from source code.
Git
The midPoint source is available in Git.
You will need a suitable Git client software to clone the source code.
Many operating systems include that as a standard package.
For example, in Debian-based Linux systems, you can install Git using apt
:
Maven
MidPoint source code is built using Apache Maven.
Download and install Maven3: http://maven.apache.org/download.html
The M2_HOME
environment variable should point to the Maven installation path.
Installation
Getting The Source Code
MidPoint source code is hosted on GitHub:
GitHub project page |
|
---|---|
Git repository HTTPS access |
|
Git repository SSH access |
|
Use your Git client to clone the source code tree.
For example, in a Linux system, you can use the git
command-line client:
git clone -b v4.9.3 https://github.com/Evolveum/midpoint.git
Running this command creates the midpoint
directory containing the midPoint source code tree.
The -b
option specifies the midPoint version.
You can omit the option to get the latest development version of midPoint (master
branch):
git clone https://github.com/Evolveum/midpoint.git
For more information about the source repository structure, see Source Code.
On Windows, it is highly recommended to add the following switch to the You can also use this switch to disable |
Alongside the master branch, there are also support branches. After each release, a respective support branch is created. It is a working snapshot that collects all bug fixes until another major release is finished. These branches follow this naming: support-X.Y. For example, for the LTS release 4.8(.x), there is the support-4.8 support branch. |
Building MidPoint
Go to the directory with the downloaded source code and execute the following command:
mvn install
A complete build process also includes unit and integration tests, and it may take more than one hour. You can speed up the build by skipping automatic tests using the following command:
mvn install -DskipTests=true
After a successful build process, you will find a binary distribution package located in the dist/target
directory.
Building the WAR file only
If the WAR file is all you need, you can speed the build even further by skipping the packaging of the distribution archive.
Use the following command to turn off the
Notice the minus character (-) before the profile name. |
Running MidPoint
Continue with the installation in the same way as for a binary release.
See the Installing MidPoint Server From Distribution Package page and follow the instructions.
However, instead of downloading a distribution package, you will use your own freshly built distribution package from the dist/target
directory.
Next Steps
MidPoint is a comprehensive system, and the source code is extensive. If you plan to work with the midPoint source code, we strongly recommend getting an Integrated Development Environment (IDE). Most midPoint developers use IntelliJ IDEA, and there is a short guide to set up IntelliJ IDEA for midPoint development. Eclipse Java IDE can also be used.
MidPoint has to store its own data in a database, which we call repository. MidPoint stores all the data there: users, roles, shadow objects representing accounts, configuration, etc.
MidPoint needs a PostgreSQL database engine. PostgreSQL is a leading open source relational database engine. Since midPoint 4.4, midPoint can use features specific to PostgreSQL to its advantage (using a native PostgreSQL repository implementation).
MidPoint also supports other database engines. However, since midPoint 4.4, such support is deprecated. Do not use other database engines unless there are historic reasons, and you have a plan for migrating to PostgreSQL.
The Repository Configuration page provides the instructions.
If you plan to participate in midPoint development, see Development Participation. If you plan to contribute source code, the Code Contribution Guidelines page provides essential information.