You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WildFly 12.0.0.Final搭配Weld 3.0.3.Final如何启用CDI 2.0?

启用CDI 2.0在WildFly 12.0.0.Final + Weld 3.0.3.Final的方法

嘿,我之前刚好折腾过这个组合的CDI版本切换,给你说下具体怎么操作,其实步骤很清晰:

  • 临时启用(启动时指定):
    启动WildFly的时候,直接在启动命令里加上系统属性参数就行。比如Linux/macOS环境用:

    ./standalone.sh -Dcdi.version=2.0
    

    Windows环境则用:

    standalone.bat -Dcdi.version=2.0
    

    这个方式适合临时测试,不过每次启动都要手动加参数。

  • 永久配置(修改服务器配置文件):
    如果想让配置永久生效,不用每次启动都额外加参数,可以修改WildFly的核心配置文件(比如独立模式下的standalone/configuration/standalone.xml,域模式下的domain/configuration/domain.xml)。找到文件里的<system-properties>节点,添加如下配置:

    <property name="cdi.version" value="2.0"/>
    

    保存文件后重启WildFly,配置就会自动生效了。

  • 验证CDI版本是否切换成功:
    不确定配置有没有生效的话,可以在你的应用里加一段简单的代码验证:

    import javax.enterprise.inject.spi.CDI;
    
    public class CDIVersionChecker {
        public void printCDIVersion() {
            String specVersion = CDI.current().getBeanManager().getSpecVersion();
            System.out.println("当前使用的CDI版本:" + specVersion);
        }
    }
    

    运行后如果控制台输出2.0,就说明已经成功切换到CDI 2.0了。

补充一句:WildFly 12搭配Weld 3的时候,默认是兼容CDI 1.2的,所以必须通过这个cdi.version属性显式指定,才能启用CDI 2.0的全部特性,这个是官方认可的切换方式哦。

内容的提问来源于stack exchange,提问作者NOTiFY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:27:24