关于 AEM 6.4.2+ 到 AEM 6.5 升级的已知问题

问题

如果从 6.4.2(及更高版本)升级到 6.5,并且该实例之前是从 AEM 6.1 或 AEM 6.2 升级而来,则升级可能会失败,并产生不满足相关要求的错误

04.12.2019 15:14:33.439 *ERROR* [FelixStartLevel] ERROR: Bundle '827' Error starting/stopping bundle. (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.scripting.javascript [827](R 827.0): missing requirement [org.apache.sling.scripting.javascript [827](R 827.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=2.0.0)) Unresolved requirements: [[org.apache.sling.scripting.javascript [827](R 827.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=2.0.0))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.scripting.javascript [827](R 827.0): missing requirement [org.apache.sling.scripting.javascript [827](R 827.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=2.0.0)) Unresolved requirements: [[org.apache.sling.scripting.javascript [827](R 827.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=2.0.0))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4368)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2281)
at org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1727)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:338)
at java.lang.Thread.run(Unknown Source)
04.12.2019 15:14:33.440 *ERROR* [FelixStartLevel] ERROR: Bundle '828' Error starting/stopping bundle. (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.scripting.jst [828](R 828.0): missing requirement [org.apache.sling.scripting.jst [828](R 828.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=1.0.0)(!(version>=3.0.0))) Unresolved requirements: [[org.apache.sling.scripting.jst [828](R 828.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=1.0.0)(!(version>=3.0.0)))]) org.osgi.framework.BundleException: Unable to resolve org.apache.sling.scripting.jst [828](R 828.0): missing requirement [org.apache.sling.scripting.jst [828](R 828.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=1.0.0)(!
(version>=3.0.0))) Unresolved requirements: [[org.apache.sling.scripting.jst [828](R 828.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.jcr)(version>=1.0.0)(!(version>=3.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4368)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2281)
at org.apache.felix.framework.Felix.setBundleStartLevel(Felix.java:1727)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:338)
at java.lang.Thread.run(Unknown Source)

或以下错误:

11.12.2019 10:26:32.102 *ERROR* [FelixDispatchQueue] com.adobe.granite.crypto FrameworkEvent ERROR (org.osgi.framework.BundleException: Unable to resolve com.adobe.granite.crypto [158](R 158.3): missing requirement [com.adobe.granite.crypto [158](R 158.3)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.commons.io)(version>=2.0.1)(!(version>=3.0.0))) Unresolved requirements: [[com.adobe.granite.crypto [158](R 158.3)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.commons.io)(version>=2.0.1)(!(version>=3.0.0)))])
org.osgi.framework.BundleException: Unable to resolve com.adobe.granite.crypto [158](R 158.3): missing requirement [com.adobe.granite.crypto [158](R 158.3)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.commons.io)(version>=2.0.1)(!(version>=3.0.0))) Unresolved requirements: [[com.adobe.granite.crypto [158](R 158.3)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.commons.io)(version>=2.0.1)(!(version>=3.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4368)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2281)
at org.apache.felix.framework.Felix$RefreshHelper.restart(Felix.java:5349)
at org.apache.felix.framework.Felix.refreshPackages(Felix.java:4516)
at org.apache.felix.framework.FrameworkWiringImpl.run(FrameworkWiringImpl.java:188)
at java.lang.Thread.run(Thread.java:748)

解决方案

  1. 升级到 6.5 后(或在运行最终升级命令之前),请停止实例
  2. 此 commons-io jar 下载到服务器,并将其放在crx-quickstart/install 下面
  3. 使用以下命令重新启动实例:
    java -server -Xmx1024m -XX:MaxPermSize=256M -Djava.awt.headless=true -Dsling.run.modes=author,crx3,crx3tar -jar cq-quickstart-6.5.0.jar  -p 4502 -Dsling.properties=conf/sling.properties -Dorg.apache.sling.launchpad.startupmode=UPDATE &
  4. 检查 /system/console/bundles,在所有捆绑包都处于活动状态且系统已完全升级后,再次停止实例。
  5. 通过以下命令重新启动实例:
    java -server -Xmx1024m -XX:MaxPermSize=256M -Djava.awt.headless=true -Dsling.run.modes=author,crx3,crx3tar -jar cq-quickstart-6.5.0.jar -p 4502 -Dsling.properties=conf/sling.properties &
  6. 升级应会成功完成。

其他信息

对于先前是从 AEM 6.1 或 AEM 6.2 升级而来的 AEM 6.4.2+ 实例,在升级该实例时会发生此问题

Adobe 徽标

登录到您的帐户