In CDI precedente a CDI 4.0, gli archivi JAR e WAR che contengono un file descrittore di distribuzione beans.xml senza
alcun elemento <beans> sono considerati archivi bean espliciti.
In questi archivi, CDI può gestire e inserire qualsiasi bean, tranne quelli annotati con @Vetoed.
In CDI 4.0, questi archivi sono considerati archivi bean impliciti. Negli archivi bean impliciti, CDI può gestire e inserire solo bean annotati con un'annotazione di definizione bean.
Per contrassegnare un archivio come un archivio bean esplicito e ripristinare il comportamento di rilevamento bean della release precedente,
fornire un elemento beans nel file e specificare sia l'attributo version (impostato su 1.1 o più recente) che l'attributo bean-discovery-mode="all"
sull'elemento beans:
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
bean-discovery-mode="all"
version="4.0">
</beans>
Per ulteriori informazioni sulla migrazione di Jakarta 10, consultare Differenze tra Jakarta Contexts e Dependency Injection 4.0 e 3.0.