我对xml xsi:schemaLocation如何工作有点困惑。
我正在使用Maven + IDEA来创建一个Spring项目。
如果我依赖小姐org.springframework.spring-beans
,IDEA会警告我一些错误。
如果我添加这个罐子,警告就会消失。
也许这不重要,但它对我来说就像一个黑魔法,任何人都可以帮助我这是如何工作的?
那些XSD实际上包含在spring提供的jar中。你可以通过双班并输入XSD的文件名来检查这一点。因此,如果您不包含jar,则您的maven项目无法在类路径中找到XSD。
您提到的XSD可以找到here,作为spring-beans模块的一部分
IntelliJ IDEA有助于表明它无法定位验证Spring项目所需的XSD。
它将默认命名空间(beans/@xmls
)变为红色,因为它使用了xsi:schemaLocation
(也是红色)给出的命名空间的配对值,以便找到管理XSD。请注意,这不一定必须在配对值xsi:schemaLocation
(https://www.springframework.org/schema/beans/spring-beans.xsd
)给出的URL处。其他机制(包括XML目录)可以帮助解决可以找到实际XSD的位置。
在这种情况下,IDEA知道在类路径上检查所需XSD的JAR。
也可以看看: