本文介绍关于Pandora版本的常见问题,包括如何在Ali-Tomcat+Pandora容器、PandoraBoot环境中升级Pandora版本,以及在本地开发环境查看Pandora版本

问题现象

当应用程序启动或运行时,异常堆栈的报错信息如下。

  • java.lang.LinkageError
  • java.lang.ClassNotFoundException
  • java.lang.NoSuchMethodError
  • java.lang.NoClassDefFoundError
  • org.springframework.beans.NotWritablePropertyException: Invalid property 'xxxxxx' of bean class [com.alibaba.xxxxxx]:
  • RuntimeException("Can not load this fake sdk class")

可能原因

如果异常堆栈中出现上述报错信息,且对应的类名都是以com.taobaocom.alibabacom.aliware开头,表示您使用的Pandora版本不是最新版,因此不支持某些功能。您需要升级Pandora版本。

解决方案

在Ali-Tomcat+Pandora容器中升级

如果您在Ali-Tomcat+Pandora容器中开发应用,升级Pandora的步骤如下。

  1. 下载所需版本的Pandora容器。
    更多信息,请参见容器版本说明
  2. 执行以下命令,删除原有的Pandora版本文件。
    rm -rf /home/admin/tomcat/deploy/taobao-hsf.sar
    • /home/admin/tomcat为Ali-Tomcat的安装路径。
    • Pandora需要安装在Ali-Tomcat的安装路径下,如果您的Ali-Tomcat安装在其他路径,请使用实际路径替换。
  3. 执行以下命令,将新下载的Pandora压缩包移动到Ali-Tomcat的deploy文件夹。
    mv /home/admin/downloads/taobao-hsf.tgz /home/admin/tomcat/deploy
    • /home/admin/downloads/taobao-hsf.tgz为Pandora本地下载路径。
    • /home/admin/tomcat为Ali-Tomcat安装路径。
    • 如果Pandora下载或Ali-Tomcat安装在其他路径,请使用实际路径替换。
  4. 解压Pandora压缩包。
    tar -zxvf /home/admin/tomcat/deploy/taobao-hsf.tgz

在PandoraBoot中升级

如果您通过PandoraBoot使用Pandora,升级Pandora需要在工程打包时添加强制更新的参数-u

例如,在使用Maven构建时, 直接在工程路径下执行mvn clean package -U即可更新Pandora版本。

在本地开发环境查看Pandora版本

应用正常启动后,在开发环境的控制台可以查看Pandora信息,其中SAR Version为Pandora版本信息。

本地开发环境如何查看 Pandora 的版本