在 Liberty CDI 1.2 实现中不支持 beans.xml 文件的 OpenWebBeans 模式。Liberty CDI 1.2 功能部件基于 Weld 实现,它遵循 beans.xml 的 Java Platform, Enterprise Edition (Java EE) 规范的 Contexts and Dependency Injection。
以下示例显示了由该规则标记的 beans.xml 文件。
<WebBeans xmlns="urn:java:ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:java:ee http://java.sun.com/jee/beans-1.0.xsd">
...
</WebBeans>
以下示例显示了根据 CDI 1.2 规范正确定义的 beans.xml 文件。
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"> </beans>
该规则提供的自动修复功能可将 beans.xml 文件中的传统 OpenWebBeans 模式替换为标准 CDI 模式。 将定制配置复制到应用程序构建文件以启用修订自动化。
如果您考虑使用 Java EE 7 随附的 CDI 1.2,请参阅 Contexts and Dependency Injection 1.2 behavior changes。