В CDI до CDI 4.0архивы JAR и WAR, содержащие файл описания < code>beans.xml< /code>, не задающие атрибут < code> version < /code> в корневом элементе < code> < beans> < /code>, считаются явными архивами объектов. В этих архивах CDI может управлять любым объектом EJB, за исключением тех, которые имеют аннотацию с < код>@Vetoed< /code>.
В CDI 4.0эти архивы считаются неявными архивами объектов. В неявных архивах функций bean CDI может управлять и вводить объекты EJB с аннотацией bean-definition annotation.
Для того чтобы пометить архив как явный архив объекта и восстановить поведение обнаружения bean предыдущего выпуска, укажите в элементе beans атрибут version (значение 1.1 или более новый) и атрибут 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>
Это правило содержит автоматическое исправление для добавления отсутствующих атрибутов version и bean-discover = "all " . Скопируйте пользовательскую конфигурацию в файл компоновки приложения, чтобы включить автоматизацию исправлений.
Дополнительная информация о миграции в Jakarta 10 приведена в разделе Различия между Jakarta Contexts и Dependency Injection 4.0 и 3.0.