OpenLiberty / open-liberty

Open Liberty is a highly composable, fast to start, dynamic application server runtime environment
https://openliberty.io
Eclipse Public License 2.0
1.16k stars 598 forks source link

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:

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

Maven

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.