全部產品
Search
文件中心

Elastic Desktop Service:安裝Java SDK

更新時間:Jul 14, 2026

本文以Windows作業系統和IntelliJ IDEA軟體為例,介紹如何安裝無影雲電腦企業版的雲電腦管控Java SDK。

前提條件

操作步驟

使用OpenAPI門戶提供的程式碼範例工程

  1. 開啟查詢辦公網路的詳細資料文檔,並單擊右上方的調試。

  2. 在OpenAPI門戶頁面上,根據提示登入您的阿里雲帳號。

  3. 填寫相關輸入參數後,單擊發起調用,即可看到調用結果。

  4. 調試通過後,如需擷取範例程式碼,請在右側面板上單擊SDK樣本頁簽,然後選擇一種語言,並單擊下載完整工程。

    說明

    完整工程中包含SDK資訊和當前OpenAPI的調用demo。

  5. 開啟IntelliJ IDEA,在頂部功能表列中選擇File>Open,並開啟解壓後的樣本工程檔案夾,等待Maven自動安裝相關依賴。

  6. 在調用之前,需要先擷取訪問憑證AccessKey,建議使用RAM使用者的AccessKey。更多資訊,請參見建立AccessKey。

    重要

    擷取RAM使用者的AccessKey之後,還需要在環境變數中設定AccessKey,具體操作步驟請參見在Linux、macOS和Windows系統配置環境變數。

  7. 雙擊開啟Sample.java,單擊右上方的按鈕運行範例程式碼。

  8. 查看運行結果。在底部的日誌視窗中按下Ctrl+F並搜尋statusCode,如果看到"statusCode":200則表示調用成功。

在已有專案中安裝SDK

  1. 擷取SDK。

    開啟無影雲電腦企業版的雲電腦管控SDK安裝頁面,並擷取您要使用的安裝方式。本文以Apache Maven方式為例。

  2. 引入SDK。

    開啟IntelliJ IDEA中已建立的Maven專案,在pom.xml中插入<dependencies></dependencies>標記對,並在該標記對內部插入上一步擷取的Apache Maven依賴。

    <dependencies>
      <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>alibabacloud-ecd20200930</artifactId>
        <version>4.0.21</version>
      </dependency>
    </dependencies>
  3. 下載依賴。

    按右鍵專案名稱,在快顯功能表中選擇Maven>Reload project來下載Maven依賴。

  4. 建立Java類。

    按右鍵src/main/java目錄並選擇New>Java Class,輸入名稱Sample,然後按斷行符號。

  5. 初始化雲產品用戶端。

    重要
    import com.aliyun.ecd20200930.Client;
    import com.aliyun.teaopenapi.models.Config;
    
    public class Sample {
        public static void main(String[] args) throws Exception {
            Config config = new Config()
                    .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                    .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            config.endpoint = "ecd.cn-shanghai.aliyuncs.com";
            Client client = new Client(config);
        }
    }
  6. 調用OpenAPI。

    在調用OpenAPI之前,您需要先瞭解OpenAPI的詳細資料。同時在引入的雲產品Maven依賴包中,雲產品SDK提供了每一個OpenAPI的請求類和響應類,請求類中定義了參數及參數類型,響應類中定義了返回參數結構,避免您在調用OpenAPI時參數名拼字錯誤。

    說明
    • OpenAPI請求類的命名規則:OpenAPI名稱+Request。例如:DescribeOfficeSitesRequest。

    • OpenAPI響應類的命名規則:OpenAPI名稱+Response。例如:DescribeOfficeSitesResponse。

    import com.aliyun.ecd20200930.Client;
    import com.aliyun.ecd20200930.models.DescribeOfficeSitesRequest;
    import com.aliyun.ecd20200930.models.DescribeOfficeSitesResponse;
    import com.aliyun.teaopenapi.models.Config;
    
    public class Sample {
        public static void main(String[] args) throws Exception {
                Config config = new Config()
                        .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                        .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
                config.endpoint = "ecd.cn-shanghai.aliyuncs.com";
                Client client = new Client(config);
                DescribeOfficeSitesRequest describeOfficeSitesRequest = new DescribeOfficeSitesRequest()
                    .setRegionId("cn-shanghai");
                DescribeOfficeSitesResponse describeOfficeSitesResponse = client.describeOfficeSites(describeOfficeSitesRequest);
        }
    }
  7. 處理異常。

    阿里雲SDK對異常做了統一處理。

    TeaException:在 SDK 的請求中主要以業務報錯為主的異常,該異常的樣本中提供了以下參數來協助您排查問題:

    • message:OpenAPI 業務報錯的錯誤資訊,其中會包含本次請求的 RequestId。

    • data:OpenAPI 報錯後服務端返回的詳細資料。

常見問題

問題1:運行時,提示“java.lang.NullPointerException: Cannot invoke "java.util.Map.get(Object)" because the return value of "com.aliyun.tea.TeaException.getData()" is null at ...”。

問題原因:可能是因為您沒有正確地設定阿里雲的存取金鑰(AccessKey)。

錯誤樣本:

在代碼中,AccessKey 以明文形式直接傳入 System.getenv() 方法,導致未正確配置AccessKey引發報錯。

 Config config = new Config()
         // System.getenv()表示通過環境變數擷取Access Key ID和Access Key Secret
         // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。
         .setAccessKeyId(System.getenv("<YOUR_ACCESS_KEY_ID>"))   // 明文ACCESS_KEY_ID
         // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
         .setAccessKeySecret(System.getenv("<YOUR_ACCESS_KEY_SECRET>")); // 明文ACCESS_KEY_SECRET

正確樣本:

在代碼中,將AccessKey 設定為環境變數,隨後通過 System.getenv() 方法從環境變數中擷取 AccessKey。

Config config = new Config()
        // System.getenv()表示通過環境變數擷取Access Key ID和Access Key Secret
        // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。
        .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
        // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
        .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));

建議做法:

重要

切勿直接在代碼中明文寫入 AccessKey 的值。該寫法存在安全隱患。

說明

System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")和System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),表示是從環境變數中擷取ALIBABA_CLOUD_ACCESS_KEY_ID及ALIBABA_CLOUD_ACCESS_KEY_SECRET的值。

  • 檢查您的環境變數中是否配置有ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。

  • 在終端(Linux/macOS)或單擊開始(或快速鍵:Win+R)>運行(輸入 cmd)>確定(或按 Enter 鍵),開啟命令提示字元(Windows),執行以下命令。若返回正確的AccessKey,則說明配置成功。如果返回為空白或錯誤,請嘗試重新設定,具體操作請參見設定訪問憑據。

Windows

echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%

Linux/macOS

echo $ALIBABA_CLOUD_ACCESS_KEY_ID
echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET

問題2:java: 錯誤:不支援發行版本 X。

在IntelliJ IDEA中,同步選取Ctrl+Alt+Shift+S,進入Project Structure視窗。選擇Modules,在右側Language Level中選擇跟您所使用JDK版本一致的版本,例如您所使用的JDK 8,Language Level選擇“8 - Lambdas, type annotations etc. ”。單擊Apply,單擊OK。

問題3:java: Compilation failed: internal java compiler error。

在IntelliJ IDEA功能表列,單擊File->Settings->Build, Execution, Deployment->Compiler->Java Compiler,Project bytecode version和Target bytecode version選擇跟您所使用JDK版本一致的版本,例如您所使用的JDK 8,這兩項選擇 8 即可。單擊Apply,單擊OK。

問題4:運行時,提示“No SLF4J providers were found”。

“No SLF4J providers were found”錯誤通常的原因是專案中使用了SLF4J,但系統未能找到任何有效日誌實現庫,因此只要添加合適依賴項‌即可,例如在pom檔案中添加log4j-slf4j-impl依賴:

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <version>2.17.0</version>
</dependency>