Todos os produtos
Search
Central de documentação

Alibaba Cloud SDK:Configurar um ambiente de desenvolvimento Java no Windows

Última atualização: Jun 28, 2026

Este tutorial demonstra como configurar um ambiente de desenvolvimento Java no Windows, utilizando o IntelliJ IDEA como exemplo.

O que é um ambiente de desenvolvimento Java?

Um ambiente de desenvolvimento Java consiste em um conjunto de ferramentas e configurações destinadas à criação de aplicações Java. Ele inclui o Java Development Kit (JDK), um ambiente de desenvolvimento integrado (IDE) como IntelliJ IDEA, Eclipse ou VSCode, e ferramentas de build como o Maven.

Instale o JDK

Para obter as etapas detalhadas, consulte Instalar o JDK no Windows.

Instale uma IDE

Este guia utiliza o IntelliJ IDEA Community como exemplo. Acesse a página de download do IntelliJ IDEA Community, clique em Download e siga o assistente de instalação.

Importante

Durante a instalação, na etapa Installation Options, marque a caixa de seleção Add "bin" folder to the PATH. Nas demais etapas, clique em Next para aceitar as configurações padrão.

Crie um projeto Maven

  1. Abra o IntelliJ IDEA e clique em New Project.

    Um projeto oferece um ambiente completo para todo o ciclo de vida de desenvolvimento de software — desde a codificação e testes até o build, execução e implantação — facilitando o gerenciamento eficiente da sua aplicação.

  2. Na janela New Project, selecione Java no painel à esquerda e defina as seguintes configurações:

    Name: Insira um nome para o seu projeto. Este exemplo utiliza helloaliyun.

    Location: Especifique o diretório onde deseja salvar o projeto.

    Build system: Selecione Maven para criar um projeto Maven.

    JDK: Escolha a versão do JDK desejada. Este exemplo utiliza o JDK 8.

    Nota

    Para selecionar um JDK, clique em Add JDK... e navegue até o diretório de instalação do JDK que você instalou.

    Add sample code: Marque esta caixa de seleção para criar automaticamente uma classe Main.

  3. Clique em Create.

    Um projeto chamado helloaliyun será criado. Ele contém um arquivo pom.xml básico, um diretório de source src/main/java e uma classe chamada Main.

  4. Verifique a configuração.

    No diretório src/main/java, navegue até o pacote org.example e localize a classe Main. Clique duas vezes no nome da classe para abrir o arquivo e, em seguida, clique no ícone Run no canto superior direito.

    Confira no console se a saída exibe Hello world!. Se essa mensagem aparecer, seu ambiente de desenvolvimento Java está configurado corretamente.

    Exemplo de saída:

    "D:\Program Files\Java\jdk-1.8\bin\java.exe" ...
    Hello world!
    Process finished with exit code 0

Próximas etapas

Com o ambiente de desenvolvimento Java configurado, você pode explorar suas aplicações práticas. As seções a seguir apresentam casos de uso e guias para diversas tarefas de desenvolvimento Java.

1. Chamar a OpenAPI da Alibaba Cloud usando o SDK para Java

  1. Para realizar uma chamada de API, é necessário obter primeiro um par de AccessKey para usar como credencial de acesso. Recomendamos utilizar o par de AccessKey de um usuário RAM. Para mais informações, consulte Criar um par de AccessKey para um usuário RAM.

    Importante

    Após obter o par de AccessKey, configure-o como uma variável de ambiente. Para mais informações, consulte Configurar variáveis de ambiente no Linux, macOS e Windows.

  2. Faça login no SDK Center e selecione o produto que deseja utilizar. Este exemplo usa a API DescribeInstanceTypeFamilies do ECS.

  3. Na aba Parameters, configure os parâmetros. Consulte a aba Document à direita para ver a descrição da API, notas de uso (especialmente informações de faturamento) e detalhes sobre o significado e uso de cada parâmetro. Por exemplo, ao usar a API DescribeInstanceTypeFamilies, defina o parâmetro obrigatório RegionId como cn-qingdao para China (Qingdao) e o parâmetro opcional Generation como ecs-5 para a família de instâncias série V. A aba Document fornece mais detalhes para cada parâmetro de solicitação, como seu tipo, se é obrigatório e valores de exemplo.

  4. Na aba SDK Sample, selecione Java e clique em Download Project para baixar o projeto do SDK e descompactá-lo.

  5. Código de exemplo:

    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 retrieves the key from an environment variable.
                        .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) {
                // Print the error code.
                System.out.println(teaException.getCode());
                // Print the error message, which includes the RequestId.
                System.out.println(teaException.getMessage());
                // Print the specific error content returned by the server.
                System.out.println(teaException.getData());
            } catch (Exception e) {
                TeaException error = new TeaException(e.getMessage(), e);
                // Error message.
                System.out.println(error.getMessage());
                // Diagnostic address.
                System.out.println(error.getData().get("Recommend"));
                com.aliyun.teautil.Common.assertAsString(error.message);
            }
        }
    }
              
  6. Resultado: Após executar o código, a API retorna um statusCode 200, indicando que a chamada foi bem-sucedida. O corpo da resposta contém uma lista de famílias de instâncias no campo InstanceTypeFamilies. O trecho abaixo mostra parte da resposta:

    ...'statusCode': 200, 'body': {'InstanceTypeFamilies': {'InstanceTypeFamily': [{'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.g6'}, {'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.ebmg6'}]}}
  7. Para mais informações sobre como usar o SDK para Java para chamar a OpenAPI da Alibaba Cloud, consulte Usar o Alibaba Cloud SDK for Java em uma IDE.

2. Chamar a API do Qwen para implementar um recurso de conversação

  1. O Alibaba Cloud Model Studio permite chamar um modelo grande por meio de uma API. Ele oferece vários métodos de acesso, incluindo uma API compatível com OpenAI e o DashScope SDK. Para chamar o serviço, ative primeiro o Alibaba Cloud Model Studio e obtenha uma chave de API. Para mais informações, consulte Account Settings.

    Importante

    Depois de obter uma chave de API, configure-a como uma variável de ambiente. Isso evita codificar a chave diretamente na sua aplicação, reduzindo o risco de vazamentos. Para instruções, consulte Configurar uma chave de API como variável de ambiente.

  2. Adicione a seguinte dependência ao seu arquivo pom.xml para instalar o DashScope SDK para Java:

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dashscope-sdk-java</artifactId>
        <!-- Replace 'the-latest-version' with the latest version from https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
        <version>the-latest-version</version>
    </dependency>
  3. Após instalar os SDKs para Java e DashScope, execute o seguinte código de exemplo para chamar a API do Qwen:

    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("Who are you?")
                    .build();
            GenerationParam param = GenerationParam.builder()
                    // System.getenv retrieves the API key from an environment variable. If you have not configured the environment variable, replace the following line with .apiKey("sk-xxx") and use your API key from Alibaba Cloud Model Studio.
                    .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("Error message: " + e.getMessage());
            }
            System.exit(0);
        }
    }
                    
  4. Resultado: Após executar o código, você deverá ver uma saída semelhante à seguinte:

    15:44:00.413 [main] DEBUG com.alibaba.dashscope.protocol.okhttp.OkHttpClientFactory - [connectionPool Config] connectionPoolSize: 32
    15:44:00.468 [main] DEBUG com.alibaba.dashscope.protocol.okhttp.OkHttpClientFactory - [connectionPool Config] maxRequests: 32
    15:44:00.468 [main] DEBUG com.alibaba.dashscope.protocol.okhttp.OkHttpClientFactory - [connectionPool Config] maxRequestsPerHost: 32
    I am Qwen, a large language model developed by the Tongyi Lab at Alibaba Group. I can answer questions, create content such as stories, official documents, emails, scripts, and poems, and perform logical reasoning, programming, and even play games. I am proficient in multiple languages and can provide you with a wide range of assistance. If you have any questions or need to create content
  5. Para mais informações sobre como chamar a API do Qwen, consulte Usar o DashScope SDK para Java.

3. Chamar a API do DeepSeek

Esta seção descreve como chamar modelos DeepSeek usando APIs na plataforma Alibaba Cloud Model Studio. deepseek-r1 e deepseek-v3 oferecem, cada um, 1 milhão de tokens gratuitos, e alguns modelos destilados estão disponíveis para teste gratuito por tempo limitado.

  1. Para chamar o serviço, ative primeiro o Alibaba Cloud Model Studio e obtenha uma chave de API. Para mais informações, consulte Account Settings.

    Importante

    Depois de obter uma chave de API, configure-a como uma variável de ambiente. Isso evita codificar a chave diretamente na sua aplicação, reduzindo o risco de vazamentos. Para instruções, consulte Configurar uma chave de API como variável de ambiente.

  2. Adicione a seguinte dependência ao seu arquivo pom.xml para instalar o DashScope SDK para Java:

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>dashscope-sdk-java</artifactId>
        <!-- Replace 'the-latest-version' with the latest version from https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
        <version>the-latest-version</version>
    </dependency>
    Importante

    A versão do DashScope SDK deve ser 2.18.2 ou posterior.

  3. Após instalar os SDKs para Java e DashScope, execute o seguinte código de exemplo para chamar o serviço de modelo 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("Which is larger: 9.9 or 9.11?")
                    .build();
            GenerationParam param = GenerationParam.builder()
                    // If you have not configured an environment variable, replace the following line with .apiKey("sk-xxx") and use your API key from Alibaba Cloud Model Studio.
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model("deepseek-r1")
                    .messages(Arrays.asList(userMsg))
                    // Do not set this to "text".
                    .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                    .build();
            return gen.call(param);
        }
        public static void main(String[] args) {
            try {
                GenerationResult result = callWithMessage();
                System.out.println("Reasoning:");
                System.out.println(result.getOutput().getChoices().get(0).getMessage().getReasoningContent());
                System.out.println("Final answer:");
                System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent());
            } catch (ApiException | NoApiKeyException | InputRequiredException e) {
                // Use a logging framework to record exception information.
                System.err.println("An error occurred while calling the generation service: " + e.getMessage());
            }
            System.exit(0);
        }
    }
                    
  4. Analise a saída.

    Reasoning:
    Hmm, the user is asking which is larger, 9.9 or 9.11. This looks simple, but it may need careful analysis, especially how the numbers are interpreted. First, I should confirm whether the user means decimals or something else, like version numbers or dates. But as a common math question, it should be a decimal comparison.
    First, I need to clarify the structure of these numbers. 9.9 is usually 9 plus 0.9, which is 9.90. 9.11 is 9 plus 0.11. The integer parts are both 9, so I compare the fractional parts: 0.90 and 0.11. Clearly, 0.90 is greater than 0.11, so 9.9 is larger than 9.11. However, a common confusion happens when the numbers are treated as version numbers, such as software versions.
    But the user may have a different context. If treated as a version number, 9.11 can mean version 9, update 11, while 9.9 means version 9, update 9, and then 9.11 is greater. So I may need to confirm the context, but as a standard decimal comparison, 9.9 is larger.
    Final answer:
    When comparing 9.9 and 9.11 as **decimal numbers**:
    - Treat 9.9 as 9.90, so the fractional part is 0.90.
    - The fractional part of 9.11 is 0.11.
    - Since **0.90 > 0.11**, **9.9 > 9.11**.
    If you mean **version numbers** (such as software versions):
    - 9.11 can mean the 11th update of version 9, while 9.9 is the 9th update, so **9.11 > 9.9**.
    **By default, as decimals, 9.9 is larger.**