버전이 지정되지 않은 beans.xml 파일이 있는 모듈의 Bean 발견에 대한 동작 변경

CDI 4.0 이전의 CDI에서, 루트<beans> 요소에서 버전 특성을 지정하지 않는 beans.xml 배치 디스크립터 파일을 포함하는 JAR 및 WAR 아카이브는 명시적 Bean 아카이브로 간주됩니다. 이러한아카이브에서 CDI는 @Vetoed 어노테이션이 있는 것을 제외하고 모든 빈을 관리하고 삽입할 수 있습니다.

CDI 4.0에서 이러한 아카이브는 내재된 Bean 아카이브로 간주됩니다. 내재된 Bean 아카이브에서 CDI는 Bean 정의 어노테이션으로 어노테이션이 있는 Bean을 관리하고 삽입할 수만 있습니다.

아카이브를 명시적 Bean 아카이브로 표시하고 이전 릴리스의 Bean 발견 동작을 복원하려면 bean 요소에 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>

이 규칙에는 누락된 versionbean-discover = "all " 속성을 추가하기 위한 자동화된 수정사항이 있습니다. 수정사항 자동화를 사용으로 설정하려면 사용자 정의 구성을 애플리케이션 빌드 파일에 복사하십시오.

더 많은 Jakarta 10 마이그레이션 정보는 Jakarta Contexts 및 Dependency Injection 4.0 및 3.0의 차이점을 참조하십시오.