我对xml xsi:schemaLocation的工作方式有些困惑。
我正在使用Maven + IDEA创建一个Spring项目。
如果我的依存关系中缺少org.springframework.spring-beans
,IDEA会警告我一些错误。
如果我添加这个罐子,警告将消失。
也许这并不重要,但这对我来说就像是黑魔法,有谁能帮助我这是如何工作的?
答案 0 :(得分:0)
这些XSD实际上包含在spring提供的jar中。您可以通过两次移位并输入XSD的文件名来进行检查。因此,如果不包括jar,则maven项目将无法在类路径中找到XSD。
作为spring-beans模块的一部分,可以找到您提到的XSD here
答案 1 :(得分:0)
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。
另请参见: