当前位置: 首页 > 知识库问答 >
问题:

脱机时用外部xsd文件解析tomcat web.xml

徐卓
2023-03-14

当我试图在没有internet连接的情况下启动tomcat时,在解析catalina_home/conf/web.xml中的web.xml时会抛出一个错误。(CATALINA_HOME在我的环境中是/usr/share/tomcat8.5)

org.apache.tomcat.util.digester.Digester.error Parse Error at line 20 column 193: Schema error: no attribute named "lang" was defined in schema : http://www.w3.org/XML/1998/namespace.
 org.xml.sax.SAXParseException; systemId: file:/usr/share/tomcat8.5/conf/web.xml; lineNumber: 20; columnNumber: 193; Schema error: no attribute named "lang" was defined in schema : http://www.w3.org/XML/1998/namespace.

我已经确定问题是它试图获取位于http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd的xsd文件,但是由于它处于脱机状态,所以它无法获取,而且web.xml命名空间不完整。

我尝试下载web-app_3_1.xsd并将其放在/usr/share/tomcat8.5/conf/web-app_3_1.xsd中,然后通过将前几行更改为

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee web-app_3_1.xsd" 
version="3.1">

但它仍然会抛出相同的错误。我还尝试指向类似file://usr/share/tomcat8.5/conf/web-app_3_1.xsd的文件,但这也不起作用,因为它抛出了FileNotFoundException,即使该文件存在并且属于tomcat用户。

任何帮助修复问题或变通办法,以允许部署时,没有互联网连接,我们将不胜感激!

共有1个答案

贺季同
2023-03-14

通过在tomcat/conf/catalina.properties中将strict_servlet_contobility中的true更改为false,我们找到了一个解决方案。这将阻止它根据其模式文件检查xml,并且由于它不会尝试获取模式文件,因此允许它脱机工作。

 类似资料:
  • 问题内容: 是否存在Java API来解析XSD模式文件? 我找到了XSOM,但似乎不再维护了。 问题答案: 使用标准的JDK 6:

  • 我用C创建了一个简单的饼图hart.js.我想把它链接到我电脑上的一个JSON文件,它在同一个本地文件夹中。然后,我希望JSON文件中的数据显示在我的饼图上,而不是直接从脚本中获取。 我该怎么做呢?这是我的密码。 这是我的JSON文件,保存在“chart.JSON”下-我不确定这是否是正确的格式,因为我是一个真正的新手。 我理解解析JSON文件的必要性,但我不知道该怎么做——提前非常感谢。

  • 我正在一个大型企业平台上集成,供应商喜欢频繁更新其XML格式,尽管他们promise更改将继续向后兼容。我有一个可以工作的XSD…现在…但我想用我们的应用程序代码部署该模式,而不必为每个web服务更新重新部署。作为另一个推动力,(基于JVM的)配置语言具有非常好的XSD类型导入。 作为一种后备方法,我可以使用XPath查询提取特定元素,但这就不那么令人愉快了。 如何继续针对已过时但未过时的架构文件

  • B/src/main/gen pom.xml 我想在B项目中从XSD生成类,它存在于一个项目中 在B项目的pom.xml中,我有:

  • 当xjc解析followinf xsd时,我得到了“Prolog中的错误” 我已经检查了xsd的有效性,没有发现任何错误。开始前没有字符也。。。

  • 本文向大家介绍SpringBoot内部外部配置文件加载顺序解析,包括了SpringBoot内部外部配置文件加载顺序解析的使用技巧和注意事项,需要的朋友参考一下 内部配置加载顺序 SpringBoot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ –file:./ –cl