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: 發生 JNI 錯誤,請檢查您的安裝,然後再試一次
在執行緒 "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException: org/apache/commons/cli/ParseException 中的例外
在 java.lang.Class.getDeclaredMethods0(Native Method)
在 java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
在 java.lang.Class.privateGetMethodRecursive(Class.java:3048)
在 java.lang.Class.getMethod0(Class.java:3018)
在 java.lang.Class.getMethod(Class.java:1784)
在 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
在 java.net.URLClassLoader.findClass(URLClassLoader.java:382)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:418)
在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:351)
...其他 7 個
在執行緒 "main" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException: org/apache/commons/cli/ParseException 中的例外
在 java.lang.Class.getDeclaredMethods0(Native Method)
在 java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
在 java.lang.Class.privateGetMethodRecursive(Class.java:3048)
在 java.lang.Class.getMethod0(Class.java:3018)
在 java.lang.Class.getMethod(Class.java:1784)
在 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
在 java.net.URLClassLoader.findClass(URLClassLoader.java:382)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:418)
在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:351)
...其他 7 個
原因
發現主機上已安裝 Java 8,低於所需版本。
解決方法
請確定 Linux 主機上已安裝支援的 Java 版本。
その他の情報
請參閱《AppSync 使用者指南》,以檢閱在 Linux 上執行的 AppSync CLI 的所有先決條件項目。
若為 AppSync 4.2.0.0,則依《AppSync 4.2 使用者指南》的第 21 頁需要 Java 11,其中指出:
若為 AppSync 4.2.0.0,則依《AppSync 4.2 使用者指南》的第 21 頁需要 Java 11,其中指出:
Java Runtime Environment (JRE) 版本 11 - 必須已安裝並在路徑中提供。
確定在 Linux 主機上客戶定義的 AppSync CLI 資料夾包含目前執行中 AppSync 伺服器版本的 CLI,也是謹慎的做法。AppSync 伺服器可能已升級一次或多次,因為 AppSync CLI 原本已複製到 Linux 主機。
製品
AppSync文書のプロパティ
文書番号: 000187282
文書の種類: Solution
最終更新: 10 9月 2025
バージョン: 5
質問に対する他のDellユーザーからの回答を見つける
サポート サービス
お使いのデバイスがサポート サービスの対象かどうかを確認してください。