如何避免在 Spring 初始化期间从互联网下载架构文件

2024-01-10

我有一个在生产服务器上运行的 Web 应用程序,该服务器不允许公共互联网访问。初始化失败并出现类似错误

2010-02-18 15:21:33,150 **WARN**  [SimpleSaxErrorHandler.java:47] Ignored XML validation warning
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'https://jax-ws.dev.java.net/spring/servlet.xsd', because 1) could not find the document; 2) the document could not be
 read; 3) the root element of the document is not <xsd:schema>.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
 ...

2010-02-18 15:21:33,154 **ERROR** [ContextLoader.java:215] Context initialization failed
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 9 in XML document from ServletContext resource [/WEB-INF/app.xml] is invalid; nested exception is org.xml.sax.SAXPar
seException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'wss:binding'.
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:389)

第一个警告似乎表明应用程序无法下载架构文件,这导致了第二个错误。

我的问题是:

  1. 我觉得我应该能够运行一个应用程序而无需访问互联网,这是合理的。我怎样才能要求 xml 解析器使用本地模式文件而不是从互联网下载的副本。我知道 XML 目录有这个能力。我使用的是tomcat和spring。有没有办法配置 XML 目录?还有其他机制可以达到同样的目的吗?

  2. 如果我无法重定向解析器以使用本地架构文件。我可以禁用 xml 架构验证吗?同样,我想只配置行为而不触及代码。


将您需要的模式放入类路径中,然后使用resolver http://xml.apache.org/commons/components/resolver/使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免在 Spring 初始化期间从互联网下载架构文件 的相关文章

随机推荐