https://github.com/daggerok/cdi-example
Simple java main method using CDI
https://github.com/daggerok/cdi-example
capsule-maven-plugin cdi cdi-event cdi-injection cdi2 fat-jar fatjar fatjar-generator maven-assembly-plugin uber-jar uberjar uberjar-generation
Last synced: 10 months ago
JSON representation
Simple java main method using CDI
- Host: GitHub
- URL: https://github.com/daggerok/cdi-example
- Owner: daggerok
- License: mit
- Created: 2018-12-02T23:27:05.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-10-13T11:06:16.000Z (over 5 years ago)
- Last Synced: 2025-01-10T00:45:50.617Z (over 1 year ago)
- Topics: capsule-maven-plugin, cdi, cdi-event, cdi-injection, cdi2, fat-jar, fatjar, fatjar-generator, maven-assembly-plugin, uber-jar, uberjar, uberjar-generation
- Language: Java
- Size: 1.57 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
= cdi-example image:https://travis-ci.org/daggerok/cdi-example.svg?branch=master["Build Status", link="https://travis-ci.org/daggerok/cdi-example"]
//tag::content[]
Maven java main CDI example
Read link:https://daggerok.github.io/cdi-example[project reference documentation]
- add proper dependencies
[source,xml]
----
org.jboss.weld.se
weld-se-core
3.0.5.Final
javax.enterprise
cdi-api
2.0
org.jboss
jandex
2.0.5.Final
----
- add minial required bootstrap configuration
[source,java]
----
public class App {
public static void main(String[] args) {
SeContainer container = SeContainerInitializer.newInstance()
.setClassLoader(App.class.getClassLoader())
.addPackages(App.class,
BeanManager.class)
.initialize();
// happy hacking!
}
}
----
- build, run abd test
There are 2 options for fat jar available:
- maven-assembly-plugin
- capsule-maven-plugin
[source,bash]
----
# jar
./mvnw -Passembly ; java -jar target/*-all.jar
# docker
./mvnw -Pcapsule ; ./mvnw docker-compose:up -P docker
----
//end::content[]
//tag::other[]
== maven profiles
.qualifiersmore
[source, bash]
----
./mvnw -Pcapsule,alternatives
java -jar target/*-all.jar
----
.qualifiersmore
[source, bash]
----
./mvnw -Pdependent,assembly
java -jar target/*-all.jar
----
.qualifiersmore
[source, bash]
----
./mvnw -Pany,capsule
java -jar target/*-all.jar
----
.qualifiersmore
[source, bash]
----
./mvnw -Pqualifiersmore,assembly
java -jar target/*-all.jar
----
.getting-started
[source, bash]
----
./mvnw -Pgetting-started,assembly
java -jar target/*-all.jar
----
.interceptors
[source, bash]
----
./mvnw -Pinterceptors,capsule
java -jar target/*-all.jar
----
.logs
[source, bash]
----
./mvnw -Plogs,capsule
java -jar target/*-all.jar
----
.qualifiers
[source, bash]
----
./mvnw -Pqualifiers,assembly
java -jar target/*-all.jar
----
.default (simple)
[source, bash]
----
./mvnw
./mvnw -Psimple,assembly
java -jar target/*-all.jar
----
//end::other[]
//tag::links[]
other repositories:
- link:https://github.com/daggerok/vertx-cdi-view[GitHub: daggerok/vertx-cdi-view]
links:
- youtube.com/watch?v=LYKMaj4XKvg
- https://docs.jboss.org/weld/reference/latest/en-US/html/environments.html#_bootstrapping_cdi_se
- https://docs.jboss.org/weld/reference/latest/en-US/html/environments.html
- link:https://docs.jboss.org/weld/reference/latest/en-US/html_single/[Weld CDI reference]
- link:https://eclipse-ee4j.github.io/jakartaee-tutorial/toc.html[Learn more from JakartaEE tutorials]
- link:https://docs.jboss.org/weld/reference/latest/en-US/html/interceptors.html[JBoss weld reference]
- https://docs.jboss.org/cdi/spec/2.0/cdi-spec.html#default_bean_discovery
TODO:
- link:https://github.com/daggerok/java-mp-smallrye-kafka-example/blob/master/src/main/java/com/github/daggerok/App.java#L19[Check other options for Weld CDI configuration]
//end::links[]
Initially generated by using link:https://github.com/daggerok/generator-jvm/[generator-jvm] yeoman generator (java)