AppSync:无法在 Linux 上启动 appsync-cli.sh

摘要: 问题出在 Java 版本或 Java 类上。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

运行 AppSync CLI 以类似以下方式登录时:
 
[root@hostname appsync]# ./appsync-cli.sh -login server="FQDN-of-AppSync-Server" port=8445 user=admin password="N@tRealPass1"

系统会返回以下错误:
 
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
        at java.lang.Class.getMethod0(Class.java:3018)
        at java.lang.Class.getMethod(Class.java:1784)
        at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        ... 7 more

原因

发现主机上安装的是 Java 8,其版本低于所需版本的要求。

解决方案

确保 Linux 主机上安装了支持的 Java 版本。

其他信息

请参阅 AppSync 用户指南,查看在 Linux 上运行 AppSync CLI 的所有前提条件。

对于 AppSync 4.2.0.0,《AppSync 4.2 用户指南》的第 21 页要求使用 Java 11,其中指出:     
 
Java Runtime Environment (JRE) 版本 11 — 必须安装并在路径中可用。
 
此外,谨慎的做法是确保 Linux 主机上客户定义的 AppSync CLI 文件夹包含当前正在运行的 AppSync Server 版本中的 CLI。AppSync Server 可能在 AppSync CLI 最初拷贝到 Linux 主机后升级了一次或多次。
 

产品

AppSync
文章属性
文章编号: 000187282
文章类型: Solution
上次修改时间: 10 5月 2026
版本:  6
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。