Skip to end of metadata
Go to start of metadata

Source Code

This guide provides instruction for installing midPoint from the source code. It requires software development tools and some experience to build the product. This is recommended only for engineers that want to participate in midPoint development or have deeper interest in the source code. Everybody else will probably find installing binary release much easier.

Before You Start

Release Notes

Please make sure to see Release Notes for list of environments that are known to work and for the list of known issues in current release.

Pre-requisites

Java SE Development Kit 8

The development environment requires at least JDK 8. You can use OpenJDK wich might be already installed on your system of you can download JDK from Oracle.

JAVA_HOME environment variable should point to the JDK installation path.

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8

Optional AES-128 is used by default for encrypt/decrypt operations, so JCE is not needed. If you want to use bigger key size, e.g. AES-256, then JCE is required for cryptographic operations. You can download it at http://www.oracle.com/technetwork/java/javase/downloads/index.html. After downloading zip file follow installation instructions written in README.txt

Java 8 only

MidPoint 3.6 is supported only on Java 8 platforms. MidPoint supported both Java 7 and Java 8 for several years. The support for Java 7 was deprecated in midPoint 3.4.1 and it was removed in midPoint 3.5. It is finally the time to abandon obsolete technology and to move on.

Apache Tomcat

midPoint needs an application server. We recommend Apache Tomcat 8.x.

Apache Tomcat can be downloaded from http://tomcat.apache.org/download-80.cgi. The Apache Tomcat installation directory is further referenced as <tomcat>. In windows platform prefer downloading of zip file to downloading of windows installer as later do not populate bin directory with all batch files. You will start tomcat server via running the startup.bat file from <tomcat>\bin directory.

Git

The midPoint source is available from a Git server. The details regarding Git, Git client software and Git server locations are described in Git page. Short summary of Git coordinates is provided in the following table.

GitHub project pagehttps://github.com/Evolveum/midpoint/tree/v3.6.1
Git Repository URLs
(public access)

https://github.com/Evolveum/midpoint.git

git@github.com:Evolveum/midpoint.git

Tagv3.6.1

Maven

Download and install Maven3: http://maven.apache.org/download.html

M2_HOME environment variable should point to the Maven installation path.

Maven 3 build is strongly recommended. There are some issues with Maven 2 build and you might not be able to build midPoint with Maven 2.

Prepare midPoint software

Get midPoint

Get the source from our Git repository

For more information about the source repository structure see Source Code.

Build midPoint from sources

Enter the directory with downloaded source code and execute either of the following commands:

Complete build process also includes unit and integration tests and takes approx. 1 hour.

You can speed up the build by skipping automatic tests using the following command:

After the successful build process there will be a binary distribution package located in 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 dist maven profile:

mvn clean install -DskipTests=true -P -dist

Please note the minus character (-) before profile name.
The resulting WAR file can be obtained from gui/admin-gui/target/midpoint.war

The build process has been tested with Maven 3. Maven 3 build is strongly recommended. There are some issues with Maven 2 build and you might not be able to build midPoint with Maven 2.

Deploy midPoint

What Now?

For an quick introduction to use of midPoint please follow the instructions on First Steps page. Full Administration Interface is also available.

See Also

  • No labels