| <div align="center"> |
| <img src="https://openwebbeans.apache.org/resources/images/logo.png" width="300" /> |
| </div> |
| <br> |
| |
|  |
| [](https://opensource.org/licenses/Apache-2.0) |
| [](https://github.com/apache/openwebbeans/actions) |
| [](https://ci-builds.apache.org/job/OpenWebBeans/job/OpenWebBeans%20CI%20%28main%29/) |
| |
| Apache OpenWebBeans (OWB) - Apache's implementation of the Contexts and Dependency Injection (CDI) / Jakarta CDI specification |
| |
| ## Branches |
| |
| ### main |
| Jakarta CDI 4.1 implementation (Jakarta EE 11), requires Java 17+. |
| |
| ### owb_4.0.x |
|  |
| Jakarta CDI 4.0 implementation (Jakarta EE 10), requires Java 11+. |
| |
| ### owb_2.0.x |
|  |
| CDI 2.0 (JSR-365) implementation (Java EE 8), requires Java 8+. |
| |
| ### owb_1.7.x |
|  |
| CDI 1.2 (JSR-346) implementation (Java EE 7), requires Java 7+. |
| |
| ### owb_1.2.x |
|  |
| CDI 1.0 (JSR-299) implementation (Java EE 6), requires Java 5+. |
| |
| ## Minimum Requirements (main) |
| |
| - Java 17+ |
| - CDI 4.1 (Jakarta CDI / Jakarta EE 11) |
| - TCK compliant |
| |
| ## Installation |
| |
| ``` |
| mvn clean install |
| ``` |
| |
| ## Usage |
| |
| ### Core Dependency |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.openwebbeans</groupId> |
| <artifactId>openwebbeans-impl</artifactId> |
| <version>${owb.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.openwebbeans</groupId> |
| <artifactId>openwebbeans-spi</artifactId> |
| <version>${owb.version}</version> |
| </dependency> |
| ``` |
| |
| ### Web / Servlet Integration |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.openwebbeans</groupId> |
| <artifactId>openwebbeans-web</artifactId> |
| <version>${owb.version}</version> |
| </dependency> |
| ``` |
| |
| ### JSF Integration |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.openwebbeans</groupId> |
| <artifactId>openwebbeans-jsf</artifactId> |
| <version>${owb.version}</version> |
| </dependency> |
| ``` |
| |
| ### Tomcat Integration |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.openwebbeans</groupId> |
| <artifactId>openwebbeans-tomcat</artifactId> |
| <version>${owb.version}</version> |
| </dependency> |
| ``` |
| |
| ### Arquillian Integration (Testing) |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.openwebbeans</groupId> |
| <artifactId>openwebbeans-arquillian</artifactId> |
| <version>${owb.version}</version> |
| <scope>test</scope> |
| </dependency> |
| ``` |
| |
| ### JUnit 5 Integration (Testing) |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.openwebbeans</groupId> |
| <artifactId>openwebbeans-junit5</artifactId> |
| <version>${owb.version}</version> |
| <scope>test</scope> |
| </dependency> |
| ``` |
| |
| ## Modules |
| |
| OWB is modularly built — a full CDI container in under 1 MB total. Available modules include: |
| |
| - `openwebbeans-impl` — core CDI container implementation |
| - `openwebbeans-spi` — SPI interfaces |
| - `openwebbeans-web` — Servlet / web container integration |
| - `openwebbeans-jsf` — Jakarta Faces integration |
| - `openwebbeans-tomcat` — Apache Tomcat integration |
| - `openwebbeans-jetty9` — Jetty 9 integration |
| - `openwebbeans-ejb` — EJB integration |
| - `openwebbeans-jms` — JMS integration |
| - `openwebbeans-el22` — EL 2.2+ integration |
| - `openwebbeans-osgi` — OSGi environment support |
| - `openwebbeans-se` — Java SE standalone support |
| - `openwebbeans-slf4j` — SLF4J logging bridge |
| - `openwebbeans-junit5` — JUnit 5 test support |
| - `openwebbeans-arquillian` — Arquillian test support |
| - `openwebbeans-gradle` — Gradle build support |
| |
| ## Java SE Usage |
| |
| OWB can run as a standalone CDI container in plain Java SE applications (Swing, JavaFX, Eclipse RCP, etc.) without any application server or servlet container. |
| |
| ## More Information |
| |
| Please visit https://openwebbeans.apache.org for full documentation, examples, and release notes. |
| |
| Issue tracker: https://issues.apache.org/jira/browse/OWB |