场景一:
【问题描述】
[Primeton AppServer 6.5] [SEVERE] [] [javax.enterprise.system.tools.deployment.dol] [tid: _ThreadID=73 _ThreadName=admin-listener(3)] [timeMillis: 1658904402203] [levelValue: 1000] [[
在本地仓库中找不到请求的模式, 请确保XML命名空间声明中没有拼写错误。
org.xml.sax.SAXException: 在本地仓库中找不到请求的模式, 请确保XML命名空间声明中没有拼写错误。
at com.sun.enterprise.deployment.node.SaxParserHandler.resolveEntity(SaxParserHandler.java:229)
at com.sun.org.apache.xerces.internal.util.EntityResolverWrapper.resolveEntity(EntityResolverWrapper.java:110)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.resolveEntity(XMLEntityManager.java:1081)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.resolveDocument(XMLSchemaLoader.java:657)
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的日志配置,点击<保存>按钮保存设置。
-
再次部署应用
-
日志信息中显示相关日志信息如下:
[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] [[ Asked to resolve null system id = Oracle Java Technologies | Oracle]] [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] [[ Getting Schema webapp_3_0.xsd]] [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] [[ 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
本文介绍了两个在部署应用时遇到的XML模式解析错误案例。案例一涉及PrimetonAppServer6.5,错误原因是XML命名空间声明中的模式文件路径错误,通过调整日志级别定位到问题在于webapp_3_0.xsd的配置缺少减号。修复配置后,应用成功部署。案例二为SpringBoot应用在PAS中的部署,错误源是web.xml中xsi:schemaLocation链接多了一个空格,删除空格后问题解决。
3506

被折叠的 条评论
为什么被折叠?



