讨论区 » AAS-V10企业版 »
V10 企业部署solr 4.7.2 程序包报 cvc-complex-type.2.4.a: 发现了以元素 'env-entry-type' 开头的无效内容的问题
由 huang junrui 在 超过 3 年 之前添加
异常信息:
java.io.IOException: org.xml.sax.SAXParseException; lineNumber: 50; columnNumber: 24; Deployment descriptor file WEB-INF/web.xml in archive [solr]. cvc-complex-type.2.4.a: 发现了以元素 'env-entry-type' 开头的无效内容。应以 '{"http://java.sun.com/xml/ns/javaee":mapped-name, "http://java.sun.com/xml/ns/javaee":injection-target}' 之一开头。
at com.apusic.aas.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:191)
at com.apusic.aas.javaee.core.deployment.DolProvider.load(DolProvider.java:214)
at com.apusic.aas.javaee.core.deployment.DolProvider.load(DolProvider.java:73)
at com.apusic.enterprise.v10.server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:861)
at com.apusic.enterprise.v10.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:801)
at com.apusic.enterprise.v10.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:356)
at com.apusic.enterprise.v10.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:197)
at com.apusic.aas.deployment.admin.DeployCommand.execute(DeployCommand.java:492)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:519)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:518)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:549)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:541)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:360)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:540)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1448)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl.access$1500(CommandRunnerImpl.java:88)
at com.apusic.enterprise.v10.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1842)
at com.apusic.aas.deployment.autodeploy.AutoOperation.run(AutoOperation.java:143)
at com.apusic.aas.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:574)
at com.apusic.aas.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:461)
at com.apusic.aas.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:388)
at com.apusic.aas.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:379)
at com.apusic.aas.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:209)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Caused by: org.xml.sax.SAXParseException; lineNumber: 50; columnNumber: 24; Deployment descriptor file WEB-INF/web.xml in archive [solr]. cvc-complex-type.2.4.a: 发现了以元素 'env-entry-type' 开头的无效内容。应以 '{"http://java.sun.com/xml/ns/javaee":mapped-name, "http://java.sun.com/xml/ns/javaee":injection-target}' 之一开头。
at com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:304)
at com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:221)
at com.sun.enterprise.deployment.archivist.Archivist.readStandardDeploymentDescriptor(Archivist.java:655)
at com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:367)
at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:247)
at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:256)
at com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:217)
at com.sun.enterprise.deployment.archivist.ApplicationFactory.openArchive(ApplicationFactory.java:137)
at com.apusic.aas.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:183)
... 28 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 50; columnNumber: 24; cvc-complex-type.2.4.a: 发现了以元素 'env-entry-type' 开头的无效内容。应以 '{"http://java.sun.com/xml/ns/javaee":mapped-name, "http://java.sun.com/xml/ns/javaee":injection-target}' 之一开头。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:453)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3231)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1791)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:741)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
at com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:294)
... 36 more
版本号:202106101338
解决时间:2021-11-10
解决方案:把solr应用包的web.xml中的env-entry标签的value和type的顺序调换(weblogic也是同样处理方法),具体如下:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
改为
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
</env-entry>
界面现象:
日志截图:
解决操作: