Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:Configurer un environnement de développement Java sur Windows

Dernière mise à jour :Aug 11, 2026

Ce tutoriel explique comment configurer un environnement de développement Java sur Windows, en prenant IntelliJ IDEA comme exemple.

Qu'est-ce qu'un environnement de développement Java ?

Un environnement de développement Java regroupe les outils et configurations nécessaires au développement d'applications Java. Il comprend un kit de développement Java (JDK), un environnement de développement intégré (IDE) tel que IntelliJ IDEA, Eclipse ou VSCode, ainsi que des outils de build comme Maven.

Installer le JDK

Pour les étapes détaillées, reportez-vous à Installer le JDK sur Windows.

Installer un IDE

Ce guide prend IntelliJ IDEA Community comme exemple. Accédez à la page de téléchargement d'IntelliJ IDEA Community, cliquez sur Download et suivez l'assistant d'installation.

Important

Lors de l'installation, à l'étape Installation Options, cochez la case Add "bin" folder to the PATH. Pour toutes les autres étapes, cliquez sur Next afin de conserver les paramètres par défaut.

Créer un projet Maven

  1. Ouvrez IntelliJ IDEA et cliquez sur New Project.

    Un projet offre un environnement complet pour l'ensemble du cycle de développement logiciel : codage, tests, build, exécution et déploiement. Il facilite ainsi la gestion efficace de votre application.

  2. Dans la fenêtre New Project, sélectionnez Java dans le panneau de gauche et configurez les paramètres suivants :

    Name : saisissez un nom pour votre projet. Cet exemple utilise helloaliyun.

    Location : spécifiez le répertoire dans lequel enregistrer votre projet.

    Build system : sélectionnez Maven pour créer un projet Maven.

    JDK : choisissez la version de JDK souhaitée. Cet exemple utilise JDK 8.

    Remarque

    Pour sélectionner un JDK, cliquez sur Add JDK... et accédez au répertoire d'installation du JDK concerné.

    Add sample code : cochez cette case pour créer automatiquement une classe Main.

  3. Cliquez sur Create.

    Le projet helloaliyun est créé. Il contient un fichier pom.xml de base, un répertoire source src/main/java et une classe nommée Main.

  4. Vérifiez la configuration.

    Dans le répertoire src/main/java, accédez au package org.example et localisez la classe Main. Double-cliquez sur le nom de la classe pour ouvrir le fichier, puis cliquez sur l'icône Run située dans le coin supérieur droit.

    Vérifiez que la console affiche la sortie Hello world!. Si ce message s'affiche, votre environnement de développement Java est correctement configuré.

    Exemple de sortie :

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

Étapes suivantes

Votre environnement de développement Java est désormais configuré. Vous pouvez explorer ses applications pratiques. Les sections suivantes présentent des cas d'utilisation et des guides pour diverses tâches de développement Java.

1. Appeler Alibaba Cloud OpenAPI à l'aide du SDK Java

  1. Pour appeler une API, vous devez d'abord obtenir une paire d'AccessKey servant d'identifiant d'accès. Nous recommandons d'utiliser la paire d'AccessKey d'un utilisateur RAM. Pour plus d'informations, reportez-vous à Créer une paire d'AccessKey pour un utilisateur RAM.

    Important

    Après avoir obtenu la paire d'AccessKey, configurez-la en tant que variable d'environnement. Pour plus d'informations, reportez-vous à Configurer des variables d'environnement sur Linux, macOS et Windows.

  2. Connectez-vous au SDK Center et sélectionnez le produit souhaité. Cet exemple utilise l'API DescribeInstanceTypeFamilies d'ECS.

  3. Dans l'onglet Parameters, configurez les paramètres. Consultez l'onglet Document situé à droite pour obtenir la description de l'API, les notes d'utilisation (notamment les informations de facturation) ainsi que la signification et l'utilisation de chaque paramètre. Par exemple, lors de l'utilisation de l'API DescribeInstanceTypeFamilies, définissez le paramètre obligatoire RegionId sur cn-qingdao pour China (Qingdao) et le paramètre facultatif Generation sur ecs-5 pour la famille d'instances de série V. L'onglet Document fournit davantage de détails pour chaque paramètre de requête, tels que son type, son caractère obligatoire et des exemples de valeurs.

  4. Dans l'onglet SDK Sample, sélectionnez Java et cliquez sur Download Project pour télécharger le projet SDK, puis décompressez-le.

  5. Exemple de code :

    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. Résultat : après exécution du code, l'API retourne un statusCode de 200, indiquant la réussite de l'appel. Le corps de la réponse contient une liste de familles d'instances dans le champ InstanceTypeFamilies. L'extrait suivant présente une partie de la réponse :

    ...'statusCode': 200, 'body': {'InstanceTypeFamilies': {'InstanceTypeFamily': [{'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.g6'}, {'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.ebmg6'}]}}
  7. Pour plus d'informations sur l'utilisation du SDK Java pour appeler Alibaba Cloud OpenAPI, reportez-vous à Utiliser le SDK Alibaba Cloud pour Java dans un IDE.

2. Appeler l'API Qwen pour mettre en œuvre une fonctionnalité conversationnelle

  1. Alibaba Cloud Model Studio permet d'appeler un grand modèle via une API. Il propose plusieurs méthodes d'accès, notamment une API compatible OpenAI et le SDK DashScope. Pour appeler le service, activez d'abord Alibaba Cloud Model Studio et obtenez une clé API. Pour plus d'informations, reportez-vous à Account Settings.

    Important

    Après avoir obtenu une clé API, configurez-la en tant que variable d'environnement. Cela évite de coder la clé en dur dans votre application et réduit le risque de fuites. Pour obtenir des instructions, reportez-vous à Configurer une clé API en tant que variable d'environnement.

  2. Ajoutez la dépendance suivante à votre fichier pom.xml pour installer le SDK DashScope pour 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. Une fois les SDK Java et DashScope installés, exécutez l'exemple de code suivant pour appeler l'API 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. Résultat : après exécution du code, vous devriez obtenir une sortie similaire à ce qui suit :

    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. Pour plus d'informations sur l'appel de l'API Qwen, reportez-vous à Utiliser le SDK DashScope pour Java.

3. Appeler l'API DeepSeek

Cette section décrit comment appeler les modèles DeepSeek via les API de la plateforme Alibaba Cloud Model Studio. deepseek-r1 et deepseek-v3 offrent chacun 1 million de tokens gratuits. Certains modèles distillés sont également disponibles pour un essai gratuit limité dans le temps.

  1. Pour appeler le service, activez d'abord Alibaba Cloud Model Studio et obtenez une clé API. Pour plus d'informations, reportez-vous à Account Settings.

    Important

    Après avoir obtenu une clé API, configurez-la en tant que variable d'environnement. Cela évite de coder la clé en dur dans votre application et réduit le risque de fuites. Pour obtenir des instructions, reportez-vous à Configurer une clé API en tant que variable d'environnement.

  2. Ajoutez la dépendance suivante à votre fichier pom.xml pour installer le SDK DashScope pour 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>
    Important

    La version du SDK DashScope doit être 2.18.2 ou ultérieure.

  3. Une fois les SDK Java et DashScope installés, exécutez l'exemple de code suivant pour appeler le service de modèle 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. Examinez la sortie.

    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.**