管道建置在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