gpt4 book ai didi

jakarta-ee - 迁移到 Java EE 7 后 CDI 无法工作

转载 作者:行者123 更新时间:2023-12-04 17:22:46 28 4
gpt4 key购买 nike

我最近迁移了一个简单的Java EE 6项目至Java EE 7 .详细地说,这意味着我刚刚从 javax:javaee-api:6.0 更改了依赖项。至javax:javaee-api:7.0并将其部署到 Glassfish 4而不是 Glassfish 3 .

之后应用程序不再工作,因为 CDI无法注入(inject)注释的依赖项。

最佳答案

问题是,我不知道 deployment descriptor查找依赖项的默认行为在 Java EE 7 中也发生了变化。 .

deployment descriptor (beans.xml)必须看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<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"
version="1.1" bean-discovery-mode="all" >
</beans>

重要的是属性 bean-discovery-mode ,它配置如何 CDI找到所有依赖项。将其设置为 bean-discovery-mode="all" , CDI行为类似于 Java EE 6 .

关于jakarta-ee - 迁移到 Java EE 7 后 CDI 无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17552855/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com