什么是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是一个全面的、功能齐全的开发环境集合,涵盖从代码编写到测试、构建、运行及部署的全过程。借助于这样一个集成环境,开发者能够有效地管理和维护他们的软件应用。

-
在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,选择将要使用的产品,例如您将要调用云服务器ECS的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);
}
}
-
输出结果: