No CDI anterior ao CDI 4.0, os archives JAR e WAR que contêm um arquivo descritor de implementação beans.xml com
nenhum elemento <beans> são considerados archives de bean explícitos.
Nesses archives, o CDI pode gerenciar e injetar qualquer bean, exceto aqueles anotados com @Vetoed.
No CDI 4.0, esses archives são considerados archives de bean implícitos. Em archives de bean implícitos, o CDI só pode gerenciar e injetar beans anotados com uma anotação de definição de bean.
Para marcar um archive como um archive de bean explícito e restaurar o comportamento da descoberta de bean da liberação anterior,
forneça um elemento beans no arquivo e especifique o atributo version (configurado como 1.1 ou mais recente) e o atributo bean-discovery-mode = "all ",
no 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>
Para obter mais informações de migração do Jakarta 10, consulte Diferenças entre o Jakarta Contexts and Dependency Injection 4.0 e o 3.0.