在低于 4.0 的 CDI 中,包含 beans.xml 部署描述符文件且该文件未在根 <beans> 元素上指定
version 属性的 JAR 和 WAR 归档将视为显式 bean 归档。
在此类归档中,CDI 可以管理并插入任何 bean,但通过 @Vetoed 注释的除外。
在 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 之间的差异。