当我在遗留的xsd上运行jaxb2-maven-plugin时,它抛出了这个异常:
解析器的当前配置不允许将maxOccurs属性值设置为大于值5,000
Google搜索此错误表明这是出于安全目的而放在jaxp上的限制。它可以在像这样的代码中禁用
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING,false);
但我需要在maven中这样做。此外,xjc有一个-nv开关来关闭此验证,这看起来像是要走的路。我无法改变xsd。
在jaxb2-maven-plugin中传递-nv开关的语法是什么?
答案 0 :(得分:3)
我的同事Vic Ganora在jaxb2-maven-plugin的源代码中找到了答案。在<plugin>...<configuration>
元素中,您需要添加
<laxSchemaValidation>true</laxSchemaValidation>.