Skip to content

Open Liberty is a highly composable, fast to start, dynamic application server runtime environment

License

Notifications You must be signed in to change notification settings

OpenLiberty/open-liberty

Repository files navigation

title


Maven Central Container Images Website Stack Overflow Groups.io License Twitter

Summary

A lightweight open framework for building fast and efficient cloud-native Java microservices:

  • Open Liberty is fast to start up with low memory footprint and live reload for quick iteration.
  • Simple to add and remove features from the latest versions of MicroProfile and Java EE.
  • Zero migration lets you focus on what's important, not the APIs changing under you.

Getting Started

Launch a sample app using Maven

git clone https://github.com/OpenLiberty/sample-getting-started.git
cd sample-getting-started
mvn clean package liberty:run

Open browser to http://localhost:9080/ and explore the demo application.

See this guide to learn how it works.

Downloads

Usage

Docker

  • This guide demonstrates development using Docker containers.

Maven

  • This guide demonstrates development using the Liberty Maven Plugin.

Command Line

Open Liberty Docs

Contributing

Our CONTRIBUTING document contains details for submitting pull requests. FYI: The project recently renamed master branch to release. More info here: https://github.com/OpenLiberty/open-liberty/wiki/Master-rename-to-Release

Running a Build

  1. Clone the repository to your system.

     git clone git@github.com:OpenLiberty/open-liberty.git
    
  2. Run a gradle build.

    Prerequisite - Environment variable JAVA_HOME must point to a Java 17 or Java 21 SDK. If setting JAVA_HOME to Java 17, you will also need to set JAVA_21_HOME to a Java 21 SDK.

     cd open-liberty/dev
     ./gradlew cnf:initialize
     ./gradlew assemble
    

    Troubleshooting - If ./gradlew assemble shows out of memory error, you can increase the memory in dev/gradle.properties file. Stop the gradle daemon after you change the memory setting by using ./gradlew --stop. If it does not help the problem, try cleaning up your maven repository cache (using rm -rf ~/.m2) and gradle cache (using rm -rf ~/.gradle/caches).

  3. Run the unit or FAT tests.

    ./gradlew test for unit tests

    ./gradlew build.example_fat:buildandrun to run a FAT project

    NOTE: ./gradlew build runs the assemble and test tasks

  4. Perform a local release

    ./gradlew releaseNeeded

    NOTE: This task releases all projects to the local releaseRepo. The final openliberty zip can be found in

    open-liberty\dev\cnf\release\dev\openliberty\<version>\openliberty-xxx.zip

License

Usage is provided under the EPL 2.0 license See LICENSE for the full details.