this version of the Java Runtime

2023-06-01  本文已影响0人  华山令狐冲

在 SAP Commerce Cloud Backoffice 做 full indexing 时,遇到错误消息:

ERROR: Error from server at https://localhost:8983/solr: Error CREATEing SolrCore 'master_backoffice_backoffice_product_flip': Unable to create core [master_backoffice_backoffice_product_flip] Caused by: de/hybris/platform/solr/search/MultiMaxScoreQParserPlugin has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
25.05.2023 11:57:49: ERROR: Executing indexer worker as an admin user failed:

有人说是本地 jdk 版本的问题,但我装的确实是 jdk 17:

https://answers.sap.com/questions/13784006/dehybrisplatformsolrsearchmultimaxscoreqparserplug.html

最后发现原因是我把 sap machine 下载到本地后,只是将其 bin 文件目录指定到了 path 环境变量下面:


正规的操作流程:

  1. Add the System variable JAVA_HOME and set it to the root directory of the extracted archive (e.g. C:<...>\sapmachine-jdk-11.0.3)

  2. Edit the System variable PATH and add %JAVA_HOME%\bin to the PATHvariable

"java class file version 55.0" 是指Java编译器生成的Java类文件的版本号。每个Java类文件都有一个与之关联的版本号,用于指示该类文件是使用哪个Java编译器版本编译的。

Java类文件版本号采用了一种命名约定,它由两个数字组成,分别表示主版本号和次版本号。例如,"55.0" 表示主版本号为55,次版本号为0。在Java中,主版本号通常与Java编译器的版本号相关联。

下面我将详细解释"java class file version 55.0" 的含义以及与Java编译器版本的关系。

  1. 版本号的结构和含义:
    Java类文件版本号由两个数字组成,如 "55.0"。这两个数字的含义如下:

版本号的命名约定遵循一定的规则。主版本号通常是向后兼容的,也就是说,较新版本的Java编译器可以编译较旧版本的Java类文件。然而,较旧版本的Java编译器可能无法编译较新版本的Java类文件。

  1. Java编译器和版本对应关系:
    Java类文件版本号与Java编译器版本存在一定的对应关系。不同的Java编译器版本会生成不同版本的类文件。

可以看到,每个Java编译器版本都与一个特定的类文件版本号相关联。因此,当使用特定版本的Java编译器编译Java源代码时,生成的

类文件将带有与该编译器版本相对应的版本号。

  1. 版本号的重要性:
    类文件版本号的重要性在于确保兼容性和正确的运行环境。较新版本的Java编译器通常支持更多的语言特性和功能,因此使用较新版本的编译器可以更好地利用Java语言的新功能。

另一方面,确保类文件与运行环境兼容也很重要。如果将使用较新版本编译的类文件部署到较旧版本的Java运行环境中,可能会出现不兼容的情况。因此,在选择Java编译器版本时,需要考虑目标运行环境的兼容性。

总结:
"java class file version 55.0" 表示Java类文件的版本号,其中主版本号为55,次版本号为0。该版本号与Java编译器的版本相关联,用于指示类文件是使用哪个版本的Java编译器生成的。不同的Java编译器版本会生成不同版本的类文件,因此在选择Java编译器版本时需要考虑兼容性和所需的语言特性。了解类文件版本号的含义和与编译器版本的对应关系可以帮助开发人员正确选择和管理Java代码和运行环境。

上一篇 下一篇

猜你喜欢

热点阅读