En CDI anterior a CDI 4.0, los archivadores JAR y WAR que contienen un archivo descriptor de despliegue beans.xml que no especifica un atributo
version en el elemento <beans> raíz se consideran archivos de bean explícitos.
En estos archivos, CDI puede gestionar e inyectar cualquier bean, excepto los anotados con @Vetoed.
En CDI 4.0, estos archivos se consideran archivos de beans implícitos. En los archivos de beans implícitos, CDI solo puede gestionar e inyectar beans anotados con una anotación de definición de bean.
Para marcar un archivo como un archivo de beans explícito y restaurar el comportamiento de descubrimiento de beans del release anterior,
especifique el atributo version (establecido en 1.1 o posterior) y el atributo bean-discovery-mode="all",
en el 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>
Esta regla tiene un arreglo automatizado para añadir los atributos version y bean-discover = "all " que faltan. Copie la configuración personalizada en el archivo de compilación de la aplicación para habilitar la automatización de arreglos.
Para obtener más información sobre la migración de Jakarta 10, consulte Diferencias entre los contextos de Jakarta y la inyección de dependencias 4.0 y 3.0.