CDI 4.0より前の CDI では、ルート <beans> エレメントで バージョン 属性を指定しない beans.xml デプロイメント記述子ファイルを含む JAR および WAR アーカイブ
は、明示的な Bean アーカイブと見なされます。
これらのアーカイブでは、@Vetoed の注釈が付けられた Bean を除き、CDI は任意の Bean を管理および注入できます。
CDI 4.0 では、これらのアーカイブは暗黙的な Bean アーカイブと見なされます。 暗黙的 Bean アーカイブでは、CDI は Bean 定義アノテーションを持つアノテーション のBean のみを管理および注入できます。
アーカイブを明示的 Bean アーカイブとしてマークし、前のリリースの 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 and Dependency Injection 4.0 と 3.0 の相違点を参照してください。