java - 从 6.3 升级时的 Hybris 6.7 服务器启动问题

标签 java tomcat jvm sap-commerce-cloud sapjvm

从 6.3 升级后进行产品部署并使用 6.7 启动服务器时,我们在控制台中收到以下错误

INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | SEVERE: LifecycleException INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | java.lang.VerifyError: (class: de/hybris/bootstrap/loader/metrics/ClassLoaderMetricRegistry, method: incrementEventCounter, signature: (Lde/hybris/bootstrap/loader/metrics/ClassLoaderMetricEvent;)V, offset: 21) invokedynamic bytecode is not supported in this class file version INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | at de.hybris.bootstrap.loader.PlatformInPlaceClassLoader.(PlatformInPlaceClassLoader.java:32) INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | at de.hybris.tomcat.HybrisWebappLoader$HybrisWebappClassLoader$1.call(HybrisWebappLoader.java:127) INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | at de.hybris.tomcat.HybrisWebappLoader$HybrisWebappClassLoader$1.call(HybrisWebappLoader.java:1) INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | at de.hybris.tomcat.HybrisWebappLoader$HybrisWebappClassLoader.invokeWithLock(HybrisWebappLoader.java:190) INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | at de.hybris.tomcat.HybrisWebappLoader$HybrisWebappClassLoader.getPlatfromInPlaceClassLoader(HybrisWebappLoader.java:109) INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | at de.hybris.tomcat.HybrisWebappLoader$HybrisWebappClassLoader.(HybrisWebappLoader.java:104) INFO | jvm 1 | main | 2019/08/13 00:46:11.308 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

环境细节:- Java:SAP JVM 8 Hybris:6.7 补丁 13

尝试恢复到 Java 8 而不是 SAP_JVM 8,但问题仍然存在。在具有两种 java 配置的其他环境中工作正常。

最佳答案

实际上这个问题是由于 local.properties 中的一个属性造成的,它是

tomcat.generaloptions=-XX:-UseSplitVerifier -Xms12g -Xmx12g -XX:+UseTLAB -XX:+PrintTenuringDistribution -XX:+UseG1GC -XX:+PrintGCDetails -XX:+PrintTenuringDistribution -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError -XX:+UseCompressedOops -Xloggc:${HYBRIS_LOG_DIR}/java_gc.log -Dcom.sun.management.jmxremote -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dorg.tanukisoftware.wrapper.WrapperManager.mbean=true -Djava.endorsed.dirs="%CATALINA_HOME%/lib/endorsed" -Dcatalina.base=%CATALINA_BASE% -Dcatalina.home=%CATALINA_HOME% -Dfile.encoding=UTF-8 -Dlog4j.configuration=log4j_init_tomcat.properties -Djava.util.logging.config.file=jdk_logging.properties -Djava.io.tmpdir="${HYBRIS_TEMP_DIR}" -Dcom.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.dump=true

此属性包括导致问题的 -XX:-UseSplitVerifier。 -XX:-UseSplitVerifier 从 Java 8 开始已弃用。

关于java - 从 6.3 升级时的 Hybris 6.7 服务器启动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57474779/

相关文章:

java - 不使用 DecimalFormat 将 double 舍入到小数点后两位

tomcat 8.5 servlet 参数 : webappBasePath

java - 无法将 Groovy Maven 插件作为目标执行

java - JVM 优化是如何基于假设的?

eclipse - Eclipse 中的 Tomcat 保持启动/同步但实际上正在运行

java - 上传文件的最佳位置

java - 为什么 Array<String> 是 kotlin 中 main 函数选择的参数类型?

java - == 运算符在 Java 中是如何实现的?

java - 来自 JVM 的崩溃报告

java - 我如何在 Java 中创建一个能够更改其自身源代码或随后运行的数学函数的程序?