环境参数:JDK17 + Nacos: 2.4.1
启动包错:java.lang.NoClassDefFoundError: Could not initialize class com.alibaba.nacos.consistency.SerializeFactory
具体如下:
解决办法:增加参数
--add-opens java.base/java.lang=ALL-UNNAMED
1、startup.sh
# start
echo "$JAVA $JAVA_OPT_EXT_FIX ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 &
JAVA_OPEN_OPTION="--add-opens java.base/java.lang=ALL-UNNAMED" # 手动添加
if [[ "$JAVA_OPT_EXT_FIX" == "" ]]; then
nohup "$JAVA" ${JAVA_OPEN_OPTION} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
else
nohup "$JAVA" ${JAVA_OPEN_OPTION} "$JAVA_OPT_EXT_FIX" ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &
fi
2、startup.cmd
set "JAVA_OPEN_OPTION=--add-opens java.base/java.lang=ALL-UNNAMED"
set COMMAND="%JAVA%" %JAVA_OPEN_OPTION% %NACOS_JVM_OPTS% %NACOS_OPTS% %NACOS_CONFIG_OPTS% %NACOS_LOG4J_OPTS% nacos.nacos %*