Table of Contents
CODI Module Overview
MyFaces CODI consists of the following modules:
Optional configuration modules:
Optinal Java-EE5 Support Modules
The following Modules are NOT needed with Java-EE6+ application servers.
- OpenWebBeans Support Module
- Weld Suppord Module
Optional All-in-one bundles (alternative to the separated modules above)
- All CODI modules for JSF 1.2
- All CODI modules for JSF 2.0+
- All CODI modules for JSF 1.2 OSGi bundle
- All CODI modules for JSF 2.0+ OSGi bundle
- Alternative-configuration OSGi
Scroll down to see how to add those modules to your project.
Configuration - Getting Started (with Maven)
It's quite easy to add CODI to your project. Just add the core as well as the module/s of your choice to the
pom.xml of your project.
In the listings below replace the placeholders for the version with the version of your choice or use:
If you are using CODI in a JEE6 environment, you don't need to configure a CDI implementation explicitly because it's shipped with the container. For some JEE6 application servers (esp. Glassfish v3) it's suggested to use the all-in-one dist package instead of the fine grained modules (due to server related issues).
JEE5 application servers as well as pure servlet containers like Apache Tomcat don't provide a CDI implementation out-of-the-box. So don't forget to setup the CDI implementation of your choice. If you would like to use CODI in combination with OpenWebBeans, you can also use the archetype provided by MyFaces.
CODI-Core Module (required)
CODI JSF Modules
CODI for JSF 1.2 (optional)
CODI for JSF 2.0 or 2.1 (optional)
CODI Bean-Validation (JSR-303) Module (optional)
CODI Scripting (JSR-223) Module (optional)
CODI Message (Advanced I18N) Module (optional)
CODI pre-packaged bundles
If you would like to test CODI or you need all modules provided by CODI, you can use an all-in-one JAR file.
Only use this bundle or the core and the single modules - but don't use both!
Entries for CODI v0.9.x (deprecated)
The basic idea is to use type-safe config or any custom approach which is possible due to
@Specializes. However, sometimes you would like to use e.g. a property file or any other config-file format. Furthermore, new versions of Weld implement also
@Alternative more strictly (at least versions which implement CDI v1.0). So it's more difficult to use the original approach. So CODI (v1+) provides two modules to get rid of this problem. (Due to Glassfish 3.1 bugs it's required to use Glassfish 3.2+.)
Alternative configuration modules (optional)
Alternative Core configuration module (optional)
Alternative Jsf configuration module (optional)
Alternative configuration module bundle (optional)
Similar to the JSF bundles of CODI there is a config bundle which bundles the single modules described above.
Only use this bundle or the single config modules - but don't use both!