gpt4 book ai didi

cdi - Weld 3 启动时发出警告, Weld 的 XSD 无效 beans.xml :scan tag

转载 作者:行者123 更新时间:2023-12-02 20:33:57 25 4
gpt4 key购买 nike

我刚刚将 Weld 从版本 2.4.4 更新到 3.0.1。我在应用程序启动时遇到以下错误,但找不到解决方案。我正在使用 Weld SE。

Sep 15, 2017 1:25:12 PM org.jboss.weld.xml.BeansXmlHandler error
WARN: WELD-001208: Error when validating file:/(...)/META-INF/beans.xml@7 against xsd. cvc-complex-type.2.4.a: Invalid content was found starting with element 'weld:scan'. One of '{"http://xmlns.jcp.org/xml/ns/javaee":interceptors, "http://xmlns.jcp.org/xml/ns/javaee":decorators, "http://xmlns.jcp.org/xml/ns/javaee":alternatives, "http://xmlns.jcp.org/xml/ns/javaee":scan, "http://xmlns.jcp.org/xml/ns/javaee":trim}' is expected.

beans.xml 包含一个 Weld 特定标记,用于在扫描中包含一些类(因为 CDI 规范仅支持排除)。

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:weld="http://jboss.org/schema/weld/beans"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="all">
<weld:scan>
<weld:include name="com.company.mypackage"/>
(...)
</weld:scan>
</beans>

我使用以下 Maven Weld SE 依赖项。

<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se-core</artifactId>
<version>3.0.1.Final</version>
</dependency>

你能告诉我应该怎么做才能解决这个问题吗?我检查了 CDI 2.0 XSD,但没有找到。也许,CDI 现在原生支持扫描的包含限制?或者也许 Weld XSD 已经改变?

我已在 bug tracker of Weld 上创建了一张票证万一它是一个错误。

最佳答案

发现问题 - 我试图在 JIRA issue for CDI (CDI-717) 中描述.

但总而言之,这不是 Weld 问题,而是 CDI 2.0 XSD 验证文件的问题。有一个意外的更改,删除了一行。该行允许任何实现(例如 Weld)添加其他元素(来自不同的命名空间)并且仍然通过 XSD 验证。

为了完整性,可以看到以前的XSD文件here (with the link to missing line) 。新的就是 here .

顺便说一句,即使出现这些验证警告/错误,您也可以安全地运行您的应用程序。Weld 会注意到它们,但应该能够处理它们并仍然运行您的应用程序。

关于cdi - Weld 3 启动时发出警告, Weld 的 XSD 无效 beans.xml :scan tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46238788/

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