{"id":18336542,"url":"https://github.com/kumuluz/kumuluzee","last_synced_at":"2025-05-16T08:04:43.224Z","repository":{"id":31378957,"uuid":"34941998","full_name":"kumuluz/kumuluzee","owner":"kumuluz","description":"Lightweight open-source framework for developing microservices using standard Java EE technologies and migrating Java EE to cloud-native architecture.","archived":false,"fork":false,"pushed_at":"2024-01-17T08:49:25.000Z","size":1956,"stargazers_count":291,"open_issues_count":26,"forks_count":70,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-04-08T19:22:00.296Z","etag":null,"topics":["cloud-native","cloud-native-architectures","cloud-native-microservices","jakartaee","java","javaee","kumuluzee","microprofile","microservice-framework","microservices","uberjar"],"latest_commit_sha":null,"homepage":"https://ee.kumuluz.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kumuluz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-05-02T09:18:40.000Z","updated_at":"2025-01-31T12:17:09.000Z","dependencies_parsed_at":"2024-06-21T14:18:48.671Z","dependency_job_id":null,"html_url":"https://github.com/kumuluz/kumuluzee","commit_stats":{"total_commits":742,"total_committers":25,"mean_commits":29.68,"dds":0.4582210242587601,"last_synced_commit":"1157fc14be71ea647a4b6787bb642cad64a21fe1"},"previous_names":["tfaga/kumuluzee"],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kumuluz%2Fkumuluzee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kumuluz%2Fkumuluzee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kumuluz%2Fkumuluzee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kumuluz%2Fkumuluzee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kumuluz","download_url":"https://codeload.github.com/kumuluz/kumuluzee/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254493378,"owners_count":22080126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud-native","cloud-native-architectures","cloud-native-microservices","jakartaee","java","javaee","kumuluzee","microprofile","microservice-framework","microservices","uberjar"],"created_at":"2024-11-05T20:08:11.474Z","updated_at":"2025-05-16T08:04:38.206Z","avatar_url":"https://github.com/kumuluz.png","language":"Java","funding_links":[],"categories":["开发框架"],"sub_categories":[],"readme":"# KumuluzEE\n![KumuluzEE CI](https://github.com/kumuluz/kumuluzee/workflows/KumuluzEE%20CI/badge.svg)\n\n\u003e Lightweight open-source framework for developing microservices using standard Java/JakartaEE technologies, extending them with Node.js, Go and other languages, and migrating to cloud-native architecture.\n\nKumuluzEE is a lightweight framework for developing microservices using standard Java/JakartaEE technologies, extending them with Node.js, Go and other languages, and migrating existing applications to microservices and cloud-native architecture. KumuluzEE packages microservices as standalone JARs. KumuluzEE microservices are lightweight and optimized for size and start-up time.\nThey fit perfectly with Docker containers. KumuluzEE microservices are fully compatible with Kubernetes and enable Kubernetes-native development. KumuluzEE will also provide support for Serverless Functions on Azure, AWS and Google. \n\nKumuluzEE also provides extensions for developing common patterns in cloud-native architectures, including configuration, logging, discovery, fault tolerance with circuit-breakers, metrics, security, event streaming and more.\n\nKumuluzEE has been designed to use the standard Java/JakartaEE technologies and APIs with optional extensions for easier development of cloud-native microservices. Therefore, it is particularly suitable for existing enterprise Java developers, who would like to leverage their skills, but progressively move from monolithic to microservice design patterns.\n\nKumuluzEE provides full support for **Java** latest versions (check each release for specific information). In addition to Java, KumuluzEE supports several programming languages, including **Node.js** and **Go**. Support for additional languages will be added soon. For these languages, KumuluzEE also provides support for service configuration and discovery. \n\nKumuluzEE is Eclipse MicroProfile compliant and provides support for MicroProfile 1.0, 1.1, 1.2, 1.3, 1.4, 2.0, 2.1, 3.0, 3.1, 3.2 and 3.3. Support for 4.x and 5.x is coming soon. KumuluzEE provides support for all MicroProfile specifications, including MicroProfile Config, MicroProfile Health, MicroProfile Fault Tolerance, MicroProfile Metrics, MicroProfile JWT Authentication, MicroProfile Rest Client, MicroProfile OpenAPI and MicroProfile Open Tracing APIs.\n\n## Getting started\n\nIf you already know how to use Java/JakartaEE, then you already know how to use KumuluzEE. It is simple and straightforward. \n\nSee the [getting started](https://github.com/kumuluz/KumuluzEE/wiki/Getting-started) wiki section to create your first light-weight standalone Java microservice in 5 minutes. \n\nRead [tutorials](https://ee.kumuluz.com/tutorials/) at our home page.\n\nRefer to [samples](https://github.com/kumuluz/kumuluzee-samples) for more examples.\n\n## Features\n\nPrimary features:\n- Lightweight, cloud-native Java microservices with full support for Docker, Kubernetes and Serverless (coming soon).\n- Support for all major cloud-native patterns, minimal footprint, quick start-up time, perfect for scaling in the cloud.\n- No need for a traditional application server. Run your app anywhere Java runs as well as in PaaS\nand Docker-like environments.\n- Allows you to develop microservices using standard Java technologies and extend them with Node.js, Go and other languages.\n- Allows you to gradually migrate existing Java applications to microservices and cloud-native architecture.\n- Complete control over what Java/JakartaEE components and its implementations are included. Only include what you need and make your app lightweight.\n- Minimal to no configuration settings up the base server. Develop like any other Java application.\n- Quick startup time, low resource consumption and stateless scalability accelerates development.\n- Extend your microservices with common cloud-native patterns, such as config, discovery, logging, fault tolerance, circuit-breakers, etc. KumuluzEE provides all the building blocks.\n\nKumuluzEE provides support for various Java/JakartaEE APIs and components. The goal is to support as many Java components as possible (contributions welcome). \n\n## Java/JavaEE/JakartaEE components\n\nCurrently the following components are supported with more being added over time:\n\n- Servlet (Jetty)\n- CDI (RI Weld)\n- JAX-RS (RI Jersey)\n- JSON-P (RI JSONP)\n- JSON-B (RI Yasson)\n- JSP (Jetty Apache Jasper)\n- JPA (RI EclipseLink)\n- JPA (RI Hibernate)\n- EL (RI UEL)\n- JAX-WS (RI Metro)\n- JAX-WS (Apache CXF)\n- JSF (RI Mojarra)\n- WebSocket (Jetty)\n- Bean Validation (RI Hibernate validator)\n- JTA (Narayana)\n- Java Mail (RI JavaMail)\nPlease check each specific KumuluzEE version for specific versions of these components. \n\n## Additional features\n\nKumuluzEE provides additional features, which are described on the [project Wiki]( https://github.com/kumuluz/kumuluzee/wiki), particularly:\n- [Configuration framework](https://github.com/kumuluz/kumuluzee/wiki/Configuration) for easy and efficient configuration of microservices from various sources, such as environment variables, configuration files (yaml), properties, etc.\n- [TLS/SSL support](https://github.com/kumuluz/kumuluzee/wiki/TLS-SSL-support) for configuring TLS/SSL, including support for **HTTP/2**.\n\nKumuluzEE also provides support for [**Uber JARs**](https://github.com/kumuluz/kumuluzee/wiki/Uber-JAR-support). With the KumuluzEE Maven plugin, you can pack and run each microservice as a single, self-contained Uber-JAR. Details are described later in this document.\n\n## KumuluzEE projects\n\nIn addition to the standard Java EE components, KumuluzEE also comes with several projects that complement and extend its functionality. The projects follow the same modular concept as the Java components in which you can chose if you want to use it as well as the underlying implementation of the project. Most projects are geared towards creating cloud-native microservices including configuration, logging, discovery, fault tolerance including circuit-breakers, metrics, security, event streaming and more. Projects also extend KumuluzEE with technologies, such as Ethereum for blockchain microservices, gRPC, GraphQL, and others. \nThe following projects are available with more planned soon:\n\n- [KumuluzEE Config](https://github.com/kumuluz/kumuluzee/wiki/Configuration) (File and environment variables)\n- [KumuluzEE Config with config server](https://github.com/kumuluz/kumuluzee-config) (Config server etcd/Consul)\n- [KumuluzEE REST](https://github.com/kumuluz/kumuluzee-rest) (For implementation of common, advanced and flexible REST API functionalities and patterns. Includes support for exposing JPA entities through REST)\n- [KumuluzEE Logs](https://github.com/kumuluz/kumuluzee-logs) (For advanced microservice framework for logging)\n- [KumuluzEE Discovery](https://github.com/kumuluz/kumuluzee-discovery) (For dynamic service discovery (etcd or Consul). Fully compatible with Kubernetes)\n- [KumuluzEE Metrics](https://github.com/kumuluz/kumuluzee-metrics) (For easy collection and reporting of performance metrics)\n- [KumuluzEE Security](https://github.com/kumuluz/kumuluzee-security) (For easy integration with OAuth2/OpenID identity and access management providers)\n- [KumuluzEE Health](https://github.com/kumuluz/kumuluzee-health) (For implementing health checks and exposing microservice health information)\n- [KumuluzEE Fault Tolerance](https://github.com/kumuluz/kumuluzee-fault-tolerance) (For implementing fault tolerance patterns with microservices including circuit breakers and decoupling microservices)\n- [KumuluzEE Event Streaming](https://github.com/kumuluz/kumuluzee-streaming) (For event streaming support using Apache Kafka)\n- [KumuluzEE Reactive](https://github.com/kumuluz/kumuluzee-reactive) (For developing reactive microservices and integration with reactive streams (Vert.x and similar))\n- [KumuluzEE CORS](https://github.com/kumuluz/kumuluzee-cors) (For Cross-Origin Resource Sharing (CORS) support)\n- [KumuluzEE Swagger](https://github.com/kumuluz/kumuluzee-swagger) (For Swagger (OpenAPI 2) support and visualization)\n- [KumuluzEE OpenAPI](https://github.com/kumuluz/kumuluzee-openapi) (For OpenAPI 3 support, interface generation and visualization)\n- [KumuluzEE Testing](https://github.com/kumuluz/kumuluzee-testing) (Tools and utilities for testing KumuluzEE microservices)\n- [KumuluzEE gRPC](https://github.com/kumuluz/kumuluzee-grpc) (Native support for gRPC based services)\n- [KumuluzEE GraphQL](https://github.com/kumuluz/kumuluzee-graphql) (Native support for GraphQL)\n- [KumuluzEE Ethereum](https://github.com/kumuluz/kumuluzee-ethereum) (For Ethereum-enabled blockchain microservices)\n- [KumuluzEE AMQP](https://github.com/kumuluz/kumuluzee-amqp) (Support for Advanced Message Queueing Protocol)\n- [KumuluzEE Feature Flags](https://github.com/kumuluz/kumuluzee-feature-flags) (Support for development with feature flags.)\n- [KumuluzEE JCache](https://github.com/kumuluz/kumuluzee-jcache) (Support for caching using JCache annotations.)\n- [KumuluzEE Version](https://github.com/kumuluz/kumuluzee-version) (Support for exposing version details of microservice.)\n\n\n## MicroProfile\n\nKumuluzEE is Eclipse MicroProfile compliant and provides support for:\n- MicroProfile 1.0 \n- MicroProfile 1.1\n- MicroProfile 1.2\n- MicroProfile 1.3\n- MicroProfile 1.4\n- MicroProfile 2.0\n- MicroProfile 2.1\n- MicroProfile 3.0\n- MicroProfile 3.1\n- MicroProfile 3.2\n- MicroProfile 3.3\n\nIt implements the following MicroProfile APIs:\n- [MicroProfile Config](https://github.com/kumuluz/kumuluzee-config-mp)\n- [MicroProfile Health Check](https://github.com/kumuluz/kumuluzee-health)\n- [MicroProfile Fault Tolerance](https://github.com/kumuluz/kumuluzee-fault-tolerance)\n- [MicroProfile Metrics](https://github.com/kumuluz/kumuluzee-metrics)\n- [MicroProfile JWT Authentication](https://github.com/kumuluz/kumuluzee-jwt-auth)\n- [MicroProfile Rest Client](https://github.com/kumuluz/kumuluzee-rest-client)\n- [MicroProfile OpenAPI](https://github.com/kumuluz/kumuluzee-openapi-mp)\n- [MicroProfile Open Tracing](https://github.com/kumuluz/kumuluzee-opentracing)\n\n## Usage\n\nKumuluzEE ships with a BOM (bill of materials) which you can use to easily add the various components you need without worrying about the versions and their compatibility as it is required that all components are the same version. \n\nUsing maven add the BOM module of the library as a dependency to your project. The `${kumuluzee.version}` variables represents the most current minor version. You can see the available version on the\n[Release Page](https://github.com/kumuluz/KumuluzEE/releases).\n\n```xml\n\u003cdependencyManagement\u003e\n    \u003cdependencies\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n            \u003cartifactId\u003ekumuluzee-bom\u003c/artifactId\u003e\n            \u003cversion\u003e${kumuluzee.version}\u003c/version\u003e\n            \u003ctype\u003epom\u003c/type\u003e\n            \u003cscope\u003eimport\u003c/scope\u003e\n        \u003c/dependency\u003e\n    \u003c/dependencies\u003e\n\u003c/dependencyManagement\u003e\n```\n\nNow you can choose either any single combinations of Java components or use one of the common pre-built profiles that ship as part of KumuluzEE. You can chose any of the following profiles:\n\nMicroProfile 1.0\n```xml\n\u003c!-- MicroProfile 1.0 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-1.0\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 1.1\n```xml\n\u003c!-- MicroProfile 1.1 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-1.1\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 1.2\n```xml\n\u003c!-- MicroProfile 1.2 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-1.2\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 1.3\n```xml\n\u003c!-- MicroProfile 1.3 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-1.3\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 1.4\n```xml\n\u003c!-- MicroProfile 1.4 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-1.4\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 2.0\n```xml\n\u003c!-- MicroProfile 2.0 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-2.0\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 2.1\n```xml\n\u003c!-- MicroProfile 2.1 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-2.1\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 3.0\n```xml\n\u003c!-- MicroProfile 3.0 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-3.0\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 3.1\n```xml\n\u003c!-- MicroProfile 3.1 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-3.1\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 3.2\n```xml\n\u003c!-- MicroProfile 3.2 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-3.2\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nMicroProfile 3.3\n```xml\n\u003c!-- MicroProfile 3.3 --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-microProfile-3.3\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nTo choose your Java components with fine grain control include them as your dependencies. You can chose any of the following artifacts:\n\n```xml\n\u003c!-- Servlet (Jetty) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-servlet-jetty\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- WebSocket (Jetty) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-websocket-jetty\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JSP (Jetty Apache Jasper) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jsp-jetty\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- EL (UEL) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-el-uel\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- CDI (Weld) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-cdi-weld\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JPA (EclipseLink) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jpa-eclipselink\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- or --\u003e\n\n\u003c!-- JPA (Hibernate) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jpa-hibernate\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JAX-RS (Jersey) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jax-rs-jersey\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JAX-WS (RI Metro) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jax-ws-metro\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- or --\u003e\n\n\u003c!-- JAX-WS (Apache CXF) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jax-ws-cxf\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JSF (Mojarra) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jsf-mojarra\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- Bean Validation (Hibernate validator) --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-bean-validation-hibernate-validator\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JSON-P --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-json-p-jsonp\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JSON-B --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-json-b-yasson\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JTA --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-jta-narayana\u003c/artifactId\u003e\n\u003c/dependency\u003e\n\n\u003c!-- JavaMail --\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-javamail-ri\u003c/artifactId\u003e\n\u003c/dependency\u003e\n```\n\nTo choose your KumuluzEE project, you simply include it as your dependency. You can find the available implementations and options at their respected project pages.\n\n## Pack and run microservice as Uber JAR\n\nKumuluzEE (version 2.4 and higher) provides support for packing and running microservices as Uber JARs. It also includes a Maven plugin that correctly packages the microservice. \n\nTo package a Kumuluz EE microservice into an Uber JAR, you need to add the following plugin declaration into your \nREST module pom.xml:\n\n```xml\n\u003cplugin\u003e\n    \u003cgroupId\u003ecom.kumuluz.ee\u003c/groupId\u003e\n    \u003cartifactId\u003ekumuluzee-maven-plugin\u003c/artifactId\u003e\n    \u003cversion\u003e${kumuluzee.version}\u003c/version\u003e\n    \u003cexecutions\u003e\n        \u003cexecution\u003e\n            \u003cid\u003epackage\u003c/id\u003e\n            \u003cgoals\u003e\n                \u003cgoal\u003erepackage\u003c/goal\u003e\n            \u003c/goals\u003e\n            \u003cconfiguration\u003e\n                \u003cfinalName/\u003e\n                \u003coutputDirectory/\u003e\n                \u003cmainClass/\u003e\n                \u003cwebappDir/\u003e\n            \u003c/configuration\u003e\n        \u003c/execution\u003e\n    \u003c/executions\u003e\n\u003c/plugin\u003e\n```\n\n#### Parameters\n\n* __finalName__\n\n    Final name of the generated \"uber\" JAR.\n    \n    __Default value is__: `${project.build.finalName}` or `${project.artifactId}-${project.version}`\n    \n* __outputDirectory__\n\n    Directory containing the generated JAR.\n    \n    __Default value is__: `${project.build.directory}`\n\n\n### Run\nStart the application using the following command:\n```cmd\njava -jar ${project.build.finalName}.jar\n```\nExample:\n```cmd\njava -jar my-app-1.0.0-SNAPSHOT.jar\n```\n\n## Getting started\n\nYou can find the getting started guide on the projects [wiki](https://github.com/kumuluz/KumuluzEE/wiki/Getting-started).\nYou can find samples [for Java EE and KumuluzEE]( https://github.com/kumuluz/kumuluzee-samples)\n\n## Building\n\nEnsure you have JDK 8 (or newer), Maven 3.2.1 (or newer) and Git installed\n\n```bash\njava -version\nmvn -version\ngit --version\n```\n\nFirst clone the KumuluzEE repository:\n\n```bash\ngit clone https://github.com/kumuluz/KumuluzEE.git\ncd KumuluzEE\n```\n    \nTo build KumuluzEE run:\n\n```bash\nmvn clean package\n```\n\nThis will build all modules and run the testsuite. \n    \nOnce completed you will find the build archives in the modules respected `target` folder.\n\n## Changelog\n\nRecent changes can be viewed on Github on the [Releases Page](https://github.com/kumuluz/KumuluzEE/releases)\n\n## Contribute\n\nSee the [contributing docs](https://github.com/kumuluz/KumuluzEE/blob/master/CONTRIBUTING.md)\n\nWhen submitting an issue, please follow the [guidelines](https://github.com/kumuluz/KumuluzEE/blob/master/CONTRIBUTING.md#bugs).\n\nWhen submitting a bugfix, write a test that exposes the bug and fails before applying your fix. Submit the test alongside the fix.\n\nWhen submitting a new feature, add tests that cover the feature.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkumuluz%2Fkumuluzee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkumuluz%2Fkumuluzee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkumuluz%2Fkumuluzee/lists"}