Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
October 10, 2022 14:27
March 14, 2022 18:15
January 27, 2022 19:16
January 10, 2023 21:44
February 10, 2014 08:49
February 11, 2021 17:20
January 7, 2021 08:31
January 13, 2023 10:24
September 26, 2021 11:48
January 17, 2021 19:36
January 17, 2021 14:41


Java CI with Gradle Gitter Javadoc

las2peer is a Java-based server framework for developing and deploying microservices in a distributed Peer-to-Peer (P2P) environment. It is developed by the Advanced Community Information Systems (ACIS) group at the Chair of Computer Science 5 (Information Systems & Databases), RWTH Aachen University, Germany. It's main focus lies on providing developers with a tool to easily develop and test their microservices and deploy them in a P2P network without having to rely on a centralized infrastructure. Communication between nodes is realized using the FreePastry library.

For more information on the core concepts of las2peer, please visit or read the las2peer Primer.

Service Development

This project contains las2peer itself. To develop a service for las2peer, please use the las2peer Template Project and follow the instructions of the project's ReadMe.

If you want to learn more about las2peer, please visit the las2peer Template Project's Wiki Page.



las2peer uses Java 17.

Build Dependencies

  • Gradle 7.2
  • Node 14 / npm

Project Structure


This repository contains three las2peer modules:

  • Core (/core)
  • REST Mapper (/restmapper)
  • Web Connector (/webconnector)

Each of them resides in its own subfolder, containing a build file providing the following tasks:

  • gradle jar will build the respective jar of the submodule. The jars will be stored in /export/jars.
  • gradle test will run the respective JUnit tests. Test reports will be stored in /build/reports.
  • gradle javadoc will create the JavaDocs for the respective submodule. The results will be stored in /export/javadoc.
  • gradle build runs all the tasks from above.
  • gradle publish<submodule>PublicationToMavenLocal publishes the respective submodule to the local maven repository. If you have set up a project to resolve dependencies from the local repository, you can conveniently test your local changes without pushing and publishing them.


las2peer has a modular structure and many dependencies. However, most installations use all modules together, this is why we provide a bundle of all submodules and their dependencies in one single jar. The build script for the bundle can be found in /bundle.

The build script provides the following tasks:

  • gradle shadowJar will build the fat jar. The jar will be stored in /export/jars.
  • gradle publishBundlePublicationToMavenLocal publishes the bundle to the local maven repository.

Super Build Script

To make life easier for developers, this repository contains a build script for conveniently building multiple submodules.

  • gradle buildOnly will run publish<submodule>PublicationToMavenLocal on each submodule
  • gradle buildOnlyNoBundle will run publish<submodule>PublicationToMavenLocal on each submodule except for the bundle


JavaDocs of the latest release can be found online:


Every commit to the develop branch is built by GitHub actions and will be published as a snapshot to our Archiva. Releases are drafted from the master branch.