在AEMaaCS中,管道构建在可变内容安装步骤失败
在Adobe Experience Manager as a Cloud Service (AEMaaCS)中,由于XML解析错误,管道构建在可变内容安装步骤期间失败。 当.content.xml
文件包含不正确的转义&
字符时,会出现问题。 解析器引发错误声明;实体名称必须紧跟实体引用中的&
。 要解决此问题,请替换无效的&
字符并重新部署管道。
描述 description
环境
- 产品: Adobe Experience Manager as a Cloud Service (AEMaaCS) — 站点
- 实例: 开发
问题/症状
- 在可变内容安装步骤期间,管道构建失败,并出现以下错误:
[ EventAdminAsyncThread #3] org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher [ preview] Message: Failed attempt (8/infinite) to import the distribution package PackageMessage(pubSlingId=3dcea89e-adc8-4bc9-99ce-01daa28559e6, reqType=ADD, pkgId=dstrpck-1744800882270-db48d737-080d-4cf9-b099-d8abf6e75086, pkgType=journal_filevault, pkgLength=7591, pubAgentName=preview, userId=replication-service, paths=[ /etc/packages/<custom><package>/<package><name>.zip] , deepPaths=[ ] , metadata={}) at offset=17225106 because of 'Error trying to extract package at path /etc/packages/<custom><package>/<package><name>.zip because of 'org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: The entity name must immediately follow the '&' in the entity reference.'', the importer will retry later,_Stacktrace: org.apache.sling.distribution.common.DistributionException: Error trying to extract package at path /etc/packages/<custom><package>/<package><name>.zip because of 'org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: The entity name must immediately follow the '&' in the entity reference.'_ at org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.handlePath(ContentPackageExtractor.java:93)_ at org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.handle(ContentPackageExtractor.java:76)_ at org.apache.sling.distribution.journal.bookkeeper.PackageHandler.installAddPackage(PackageHandler.java:79)_ at org.apache.sling.distribution.journal.bookkeeper.PackageHandler.apply(PackageHandler.java:61)_ at org.apache.sling.distribution.journal.bookkeeper.BookKeeper.importPackage(BookKeeper.java:163)_ at org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber.processQueueItem(DistributionSubscriber.java:395)_ at org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber.fetchAndProcessQueueItem(DistributionSubscriber.java:346)_ at org.apache.sling.distribution.journal.impl.subscriber.DistributionSubscriber.processQueue(DistributionSubscriber.java:324)_ at java.base/java.lang.Thread.run(Thread.java:1583)_Caused by: javax.jcr.RepositoryException: org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: The entity name must immediately follow the '&' in the entity reference._ at org.apache.jackrabbit.vault.fs.impl.io.AbstractArtifactHandler.importDocView(AbstractArtifactHandler.java:187)_ at org.apache.jackrabbit.vault.fs.impl.io.GenericArtifactHandler.accept(GenericArtifactHandler.java:88)_ at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1115)_ at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:976)_ at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1018)_ at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1018)_ at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1018)_ at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1018)_ at org.apache.jackrabbit.vault.fs.io.Importer.commit(Importer.java:1018)_ at org.apache.jackrabbit.vault.fs.io.Importer.run(Importer.java:531)_ at org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:284)_ at org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:398)_ at org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:356)_ at org.apache.jackrabbit.vault.packaging.impl.JcrPackageImpl.extract(JcrPackageImpl.java:342)_ at org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.installPackage(ContentPackageExtractor.java:126)_ at org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.installPackage(ContentPackageExtractor.java:112)_ at org.apache.sling.distribution.journal.bookkeeper.ContentPackageExtractor.handlePath(ContentPackageExtractor.java:87)_ ... 8 more_Caused by: org.apache.jackrabbit.vault.fs.io.DocViewParser$XmlParseException: The entity name must immediately follow the '&' in the entity reference._ at org.apache.jackrabbit.vault.fs.io.DocViewParser.parse(DocViewParser.java:256)_ at org.apache.jackrabbit.vault.fs.impl.io.AbstractArtifactHandler.importDocView(AbstractArtifactHandler.java:177)_ ... 24 more_Caused by: org.xml.sax.SAXParseException; systemId: file:///path/to/file/.content.xml; lineNumber: 400; columnNumber: 36; The entity name must immediately follow the '&' in the entity reference._ at java.xml/com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)_ at
- 由于
&
文件中的.content.xml
字符转义不正确,出现XML分析错误。 - 部署队列被阻止,导入程序会反复重试包提取。
解决方法 resolution
要解决错误,请执行以下步骤:
- 打开部署包中包含的所有
.content.xml
文件。 - 搜索未正确转义的
&
字符的任何实例。 - 将每个
&
替换为&
或单词and
以确保有效的XML。 - 保存更新的文件并重新构建部署包。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f