No CDI anterior ao CDI 4.0, os archives JAR e WAR que contêm um arquivo descritor de implementação beans.xml que não especifica um atributo
uma versão no elemento raiz <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 de descoberta de bean da liberação anterior,
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>
Essa regra possui uma correção automatizada para incluir os atributos version e bean-discover = "all " ausentes. Copie a configuração customizada para seu arquivo de construção do aplicativo para ativar a automação de correção.
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.