当前位置:   article > 正文

PAS部署:PAS中部署springboot应用报错:在本地仓库中找不到请求的模式, 请确保XML命名空间声明中没有拼写错误。

在本地仓库中找不到请求的模式

场景一:

【问题描述】

  1. [Primeton AppServer 6.5] [SEVERE] [] [javax.enterprise.system.tools.deployment.dol] [tid: _ThreadID=73 _ThreadName=admin-listener(3)] [timeMillis: 1658904402203] [levelValue: 1000] [[
  2.   在本地仓库中找不到请求的模式, 请确保XML命名空间声明中没有拼写错误。
  3. org.xml.sax.SAXException: 在本地仓库中找不到请求的模式, 请确保XML命名空间声明中没有拼写错误。
  4.     at com.sun.enterprise.deployment.node.SaxParserHandler.resolveEntity(SaxParserHandler.java:229)
  5.     at com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(EntityResolverWrapper.java:110)
  6.     at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntity(XMLEntityManager.java:1081)
  7.     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.resolveDocument(XMLSchemaLoader.java:657)
  8.     at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:2430)

【问题定位】

根据异常信息,抛出org.xml.sax.SAXException异常,应该是xml文件解析错误,具体哪个文件出错,可以通过增加log进行判断。log配置方式如下:

  • 使用管理员登录PAS V6.5管理控制台,根据部署目标进行配置,例如应用部署到独立实例ins1上,点击[ins1-config/日志记录程序设置],进入“日志级别”tab页。

  • 在“日志级别”tab页,新建一个名称为javax.enterprise.system.tools.deployment.dol级别为fine的日志配置,点击<保存>按钮保存设置。

  • 再次部署应用

  • 日志信息中显示相关日志信息如下:

    1. [Primeton AppServer 6.5] [FINE] [] [javax.enterprise.system.tools.deployment.dol] [tid: _ThreadID=73 _ThreadName=admin-listener(3)] [timeMillis: 1658904402203] [levelValue: 500] [CLASSNAME: com.sun.enterprise.deployment.node.SaxParserHandler] [METHODNAME: resolveEntity] [[
    2.   Asked to resolve  null system id = Oracle Java Technologies | Oracle]]
    3. [Primeton AppServer 6.5] [FINE] [] [javax.enterprise.system.tools.deployment.dol] [tid: _ThreadID=73 _ThreadName=admin-listener(3)] [timeMillis: 1658904402203] [levelValue: 500] [CLASSNAME: com.sun.enterprise.deployment.node.SaxParserHandler] [METHODNAME: getSchemaFileFor] [[
    4.   Getting Schema webapp_3_0.xsd]]
    5. [Primeton AppServer 6.5] [FINE] [] [javax.enterprise.system.tools.deployment.dol] [tid: _ThreadID=73 _ThreadName=admin-listener(3)] [timeMillis: 1658904402203] [levelValue: 500] [CLASSNAME: com.sun.enterprise.deployment.node.SaxParserHandler] [METHODNAME: getSchemaFileFor] [[
    6.   Cannot find schema webapp_3_0.xsd]]
  • 日志显示 Oracle Java Technologies | Oracle的system id找不到对应的schema。应该是这个配置错误

【解决方案】

  • 在应用目录下使用find命令搜索,命令如下:
    find . -name "*.*" -type f |xargs grep Oracle Java Technologies | Oracle
  • 命令执行后显示应用WEB-INF/web.xml中有该配置,检查后发现,正确配置应该为:http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd,配置中webapp_3_0.xsd少写了减号“-”,导致错误。
  • 修改后重新部署应用,应用部署成功。

场景二:

【问题描述】

   PAS中部署springboot应用报错:在本地仓库中找不到请求的模式, 请确保XML命名空间声明中没有拼写错误。

  报错信息如下:

com.atlassian.confluence.content.render.xhtml.XhtmlException: Missing required attribute: {http://atlassian.com/resource/identifier}value

【问题原因】

web.xml里面xsi:schemaLocation的链接里面多了个空格导致的。 

【解决方案】

删除web.xml里面xsi:schemaLocation链接里的空格即可

【原文链接】

http://doc.primeton.com/pages/viewpage.action?pageId=61931140

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/447672
推荐阅读
相关标签
  

闽ICP备14008679号