什麼是Java開發環境
Java開發環境是指可以進行Java程式開發的一組配置和工具的集合。它包含了JDK、IDE(整合式開發環境,如IntelliJ IDEA、Eclipse、VSCode)、構建工具(如Maven)等。
安裝JDK
具體安裝步驟,請參見在Windows安裝JDK。
安裝IDE
以安裝IntelliJ IDEA Community為例,訪問IntelliJ IDEA Community下載頁面,單擊Download,待下載完成後根據操作嚮導安裝即可。

重要
安裝時,在安裝選項步驟,需要勾選“添加‘bin’檔案夾到 PATH”。其他步驟可以直接單擊下一步即可。
建立一個 Maven專案
-
開啟IntelliJ IDEA,單擊New Project。
Project是一個全面的、功能齊全的開發環境集合,涵蓋從代碼編寫到測試、構建、運行及部署的全過程。藉助於這樣一個Integration Environment,開發人員能夠有效地管理和維護他們的軟體應用。

-
在New Project視窗左側選擇Java,在右側填寫以下資訊:
Name:您準備建立的專案名稱,這裡填入helloaliyun。
Location:專案檔的儲存位置,方便您管理專案檔。
Build system:選擇Maven,表示建立了一個Maven專案。
JDK:選擇JDK版本,這裡選擇JDK 8。
說明
選擇JDK,需要您單擊Add JDK...手動選擇您已安裝的JDK,選擇JDK的安裝目錄即可。
Add sample code:勾選之後會協助您建立一個Main類。

-
單擊Create。
您就建立了一個名稱為helloaliyun的專案,專案包含一個簡單的pom.xml檔案和src/main/java主代碼目錄,和一個名為Main的類。

-
驗證是否搭建成功。
在專案src/main/java目錄下,找到org.example包,在包下找到名稱為Main的類,雙擊Main名稱開啟檔案,單擊右上方的運行按鈕。

查看控制台是否輸出Hello World!字樣,若輸出則說明Java開發環境搭建成功。

後續操作
在搭建完成Java開發環境後,您可以通過以下方式迅速體驗Java的實際應用情境:利用Java進行多種開發操作。以下是一些具體的使用情境及操作指南:
1.使用Java SDK調用阿里雲OpenAPI
-
在調用之前,您需要先擷取訪問憑證AccessKey,建議使用RAM使用者的AccessKey。更多資訊,請參見建立RAM使用者的AccessKey。
-
登入SDK Center,選擇將要使用的產品,例如您將要調用Elastic Compute Service的DescribeInstanceTypeFamilies介面為例。
-
在頁面中間的參數配置頁簽,並填寫需要的參數資訊。填寫時請參考右側的文檔頁簽,充分瞭解介面的說明和注意事項(尤其是費用相關資訊),以及各參數的具體含義和使用方法。如DescribeInstanceTypeFamilies介面支援傳入兩個參數,其中RegionId為必填,您可填入cn-qingdao(表示青島地區);Generation非必填,您可填入ecs-5(表示系列 V 執行個體規格類型系列),參數的詳細取值可在右側文檔中查看,請根據樣本值的格式按照您的需求進行填寫。
-
在右側的SDK樣本頁面,選擇Java語言,單擊下載完整工程按鈕,下載SDK完整工程至本地並解壓。
-
程式碼範例:
import com.aliyun.ecs20140526.Client;
import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesRequest;
import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesResponse;
import com.aliyun.tea.TeaException;
import com.aliyun.teaopenapi.models.Config;
import com.google.gson.Gson;
public class Sample {
public static void main(String[] args) {
try {
Config config = new Config()
// System.getenv表示從環境變數擷取密鑰
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
config.endpoint = "ecs-cn-hangzhou.aliyuncs.com";
Client client = new Client(config);
DescribeInstanceTypeFamiliesRequest describeInstanceTypeFamiliesRequest = new DescribeInstanceTypeFamiliesRequest();
describeInstanceTypeFamiliesRequest.setRegionId("cn-qingdao");
describeInstanceTypeFamiliesRequest.setGeneration("ecs-5");
DescribeInstanceTypeFamiliesResponse describeInstanceTypeFamiliesResponse = client.describeInstanceTypeFamilies(describeInstanceTypeFamiliesRequest);
System.out.println(new Gson().toJson(describeInstanceTypeFamiliesResponse));
} catch (TeaException teaException) {
// 列印錯誤碼
System.out.println(teaException.getCode());
// 列印錯誤資訊,錯誤資訊中包含 RequestId
System.out.println(teaException.getMessage());
// 列印服務端返回的具體錯誤內容
System.out.println(teaException.getData());
} catch (Exception e) {
TeaException error = new TeaException(e.getMessage(), e);
// 錯誤 message
System.out.println(error.getMessage());
// 診斷地址
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}
-
運行結果:
-
使用Java SDK調用阿里雲OpenAPI,具體操作,請參見通過IDE使用阿里雲Java SDK。
2.調用千問API實現對話功能
-
阿里雲百鍊支援通過API調用大模型,涵蓋OpenAI相容介面、DashScope SDK等接入方式。調用服務前您需要開通阿里雲百鍊,擷取API KEY。具體操作,請參見帳號設定。
重要
在擷取API Key後,需將其配置到環境變數,以避免在代碼中顯式地設定API Key,從而降低泄露風險。具體操作步驟請參見配置API Key到環境變數。
-
在pom.xml中添加以下依賴以安裝OpenAI Java SDK:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<!-- 請將 'the-latest-version' 替換為最新版本號碼:https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<version>the-latest-version</version>
</dependency>
-
如您已完成Java及OpenAI的Java SDK安裝,可運行以下範例程式碼以調用千問API:
package org.example.nlp.ai;
import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
public class Sample {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
Generation gen = new Generation();
Message systemMsg = Message.builder()
.role(Role.SYSTEM.getValue())
.content("You are a helpful assistant.")
.build();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("你是誰?")
.build();
GenerationParam param = GenerationParam.builder()
// System.getenv表示通過環境變數擷取API Key,若沒有配置環境變數,請用阿里雲百鍊API Key將下行替換為:api_key="sk-xxx"。
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-plus")
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.err.println("錯誤資訊:"+e.getMessage());
}
System.exit(0);
}
}
-
輸出結果:
-
調用千問API,具體操作,請參見OpenAI Java SDK。
3.調用DeepSeek API
本段主要介紹在阿里雲百鍊平台上通過API調用DeepSeek系列模型的方法。其中,deepseek-r1與deepseek-v3各提供100萬個免費Token,部分蒸餾模型可限時免費體驗。
-
調用服務前您需要開通阿里雲百鍊,擷取API KEY。具體操作,請參見帳號設定。
重要
在擷取API Key後,需將其配置到環境變數,以避免在代碼中顯式地設定API Key,從而降低泄露風險。具體操作步驟請參見配置API Key到環境變數。
-
在pom.xml中添加以下依賴以安裝OpenAI Java SDK:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<!-- 請將 'the-latest-version' 替換為最新版本號碼:https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<version>the-latest-version</version>
</dependency>
重要
dashscope SDK的版本 >= 2.18.2。
-
如果您已完成Java及OpenAI的Java SDK的安裝,可以運行以下範例程式碼以調用DeepSeek模型服務:
import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
public class Sample {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
Generation gen = new Generation();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("9.9和9.11誰大?")
.build();
GenerationParam param = GenerationParam.builder()
// 若沒有配置環境變數,請用阿里雲百鍊API Key將下行替換為:.apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("deepseek-r1")
.messages(Arrays.asList(userMsg))
// 不可以設定為"text"
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println("思考過程:");
System.out.println(result.getOutput().getChoices().get(0).getMessage().getReasoningContent());
System.out.println("最終答案:");
System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
// 使用日誌架構記錄異常資訊
System.err.println("An error occurred while calling the generation service: " + e.getMessage());
}
System.exit(0);
}
}
-
輸出結果: