Чтение документации: https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#section-mapping-xml-constraints
Я удалил одно определение длинного компонента для краткости, тогда источник выглядит как показано ниже.При выполнении я получаю: Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'constraint-mappings'.
Отлично, поэтому со схемой или файлом XML должно быть что-то не так.
Но что.Я никогда не понимал все это странное определение пространств имен.Таким образом, первые 3 http URL никуда не ведут, и они, вероятно, служат какой-то более высокой цели, тогда как последний, заканчивающийся на xsd, существует и определяет элемент constraint-mappings
.И весь документ, согласно Intellij IDEA, действителен, и я верю в это.Если я попытаюсь испортить его, то IntellijIDEA увидит это.Так что я бы предположил, что это действительно так.Так почему на земле spring выдает данную ошибку при запуске ???
validation.xml file:
<constraint-mappings
xmlns="http://xmlns.jcp.org/xml/ns/validation/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/validation/mapping
http://xmlns.jcp.org/xml/ns/validation/mapping/validation-mapping-2.0.xsd"
version="2.0">
<default-package>org.hibernate.validator.referenceguide.chapter05</default-package>
<bean class="RentalCar">
<class ignore-annotations="true">
<group-sequence>
<value>RentalCar</value>
<value>CarChecks</value>
</group-sequence>
</class>
</bean>
<constraint-definition annotation="org.mycompany.CheckCase">
<validated-by include-existing-validators="false">
<value>org.mycompany.CheckCaseValidator</value>
</validated-by>
</constraint-definition>
</constraint-mappings>