W CDI wcześniejszych niż CDI 4.0 archiwa JAR i WAR zawierające plik deskryptora wdrażania beans.xml, który nie określa atrybutu
version w elemencie głównym <beans>, są uważane za jawne archiwa komponentów bean.
W tych archiwach CDI może zarządzać i wstrzykiwać dowolny komponent bean, z wyjątkiem tych, które są opatrzone adnotacjami @Vetoed.
W CDI 4.0 archiwa te są uważane za dorozumiane archiwa komponentów bean. W dorozumianych archiwach komponentów bean CDI może zarządzać i wstrzykiwać komponenty bean tylko z adnotacją definiującą komponent bean.
Aby oznaczyć archiwum jako jawne archiwum komponentu bean i przywrócić zachowanie wykrywania komponentów bean z poprzedniej wersji,
należy w elemencie beans określić zarówno atrybut version (ustawiony na wartość 1.1 lub nowszą),
jak i atrybut bean-discovery-mode="all":
<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>
Ta reguła zawiera zautomatyzowaną poprawkę, która dodaje brakujące atrybuty version i bean-discover = "all " . Skopiuj konfigurację niestandardową do pliku budowania aplikacji, aby włączyć automatyzację poprawek.
Więcej informacji na temat migracji Jakarta 10 znajduje się w sekcji Różnice między kontekstami Dżakarta a wstrzykiwaniem zależności 4.0 i 3.0.