我们在装有 Java 1.8 的 Windows 机器上使用 AEM 6.1 快速入门。
为了与其他团队保持一致,在卸载 Java 8 并保留 JAVA_HOME 和 PATH 变量以反映 Java 的新(降级)版本并使用“crx-quickstart.txt”运行 AEM 之后,我们不得不将 Java 版本降级到 1.7.0_79 。 jar”文件,AEM 正常启动,但默认启动页面未加载并显示以下异常:
java.lang.UnsupportedClassVersionError: org/apache/jsp/libs/granite/core/components/login/login_jsp : Unsupported major.minor version 52.0
RequestURI=/libs/granite/core/content/login.html
Servlet= /libs/granite/core/components/login/login.jsp
ApacheSling/2.4 (jetty/9.2.9.v20150224, Java HotSpot(TM) 64-Bit Server VM 1.7.0_79, Windows 7 6.1 amd64)
Run Code Online (Sandbox Code Playgroud)
对我们有用的解决方案之一是重命名或删除“crx-quickstart”文件夹..并启动 AEM,因为 AEM 将使用正确版本的 Java 重新编译所有内容,并且一切正常。但是有没有其他方法.. 不重命名/删除 crx-quickstart 文件夹?
以下是解决方案的更详细说明:
症状:升级或降级计算机上的 Java 版本后,发现 AEM 上未加载页面,甚至主登录页面也未加载。
造成这种情况的原因: 当 AEM 启动时,它使用 PC 上安装的 Java 版本编译 java/jsp 文件。当 Java 版本发生变化时,新文件应由安装的版本编译,所有引用都必须更新,但 AEM 6.1 上存在问题(这可能在 Service Pack 中修复)。
解析度:
注意:请在执行此操作之前备份您的 AEM 实例