Skip to content

Weld

Gitter GH Actions Build Status Maven Central License

Weld is the reference implementation of Jakarta Contexts and Dependency Injection (CDI), the Java standard for dependency injection and contextual lifecycle management.

Weld can run in Jakarta EE application servers, Servlet containers (such as Tomcat and Jetty), and plain Java SE applications.

See http://weld.cdi-spec.org for more details.

Building Weld

To build Weld, use Java 17 or newer and run

$ mvn clean install

Upgrading Weld in WildFly

Firstly, set the JBOSS_HOME environment property to point to your WildFly installation:

$ export JBOSS_HOME=/opt/wildfly

Then, run the upgrade script:

$ mvn package -Pupdate-jboss-as -f jboss-as/pom.xml -Dweld.update.version=${weld.version}

In the above snippet, ${weld.version} is the version of Weld you want to use. Now you should have patched WildFly in JBOSS_HOME.

Running integration tests and the TCK on WildFly

Follow the steps above to set the JBOSS_HOME environment property and to upgrade Weld within WildFly. Then, run:

$ mvn clean verify -Dincontainer -f tests-arquillian/pom.xml

$ mvn clean verify -Dincontainer -f jboss-tck-runner/pom.xml

If you want to run a specific test you can use the -Dtest=<test_name> flag. For example

$ mvn clean verify -Dincontainer -f jboss-tck-runner/pom.xml -Dtest=FireEventTest

Will run all the tests defined in FireEventTest.

$ mvn clean verify -Dincontainer -f jboss-tck-runner/pom.xml -Dtest=FireEventTest#testInjectedEventAcceptsEventObject

Will only run the FireEventTest.testInjectedEventAcceptsEventObject() test method.

About

Weld, including integrations for Servlet containers and Java SE, examples and documentation

Resources

Code of conduct

Contributing

Security policy

Stars

418 stars

Watchers

20 watching

Forks

Releases

Packages

Used by

Contributors

Languages