Tutorial ini menjelaskan cara menyiapkan lingkungan pengembangan Java di Windows menggunakan IntelliJ IDEA sebagai contoh.
Apa itu lingkungan pengembangan Java?
Lingkungan pengembangan Java adalah seperangkat alat dan konfigurasi untuk mengembangkan aplikasi Java, mencakup Java Development Kit (JDK), integrated development environment (IDE) seperti IntelliJ IDEA, Eclipse, atau VSCode, serta alat build seperti Maven.
Instal JDK
Untuk langkah-langkah terperinci, lihat Instal JDK di Windows.
Instal IDE
Panduan ini menggunakan IntelliJ IDEA Community sebagai contoh. Buka halaman unduh IntelliJ IDEA Community, klik Download, lalu ikuti petunjuk instalasi.
Penting
Saat instalasi, pada langkah **Installation Options**, pilih kotak centang **Add "bin" folder to the PATH**. Untuk langkah lainnya, klik **Next** untuk menerima pengaturan default.
Buat proyek Maven
-
Buka IntelliJ IDEA dan klik **New Project**.
Proyek menyediakan lingkungan komprehensif untuk seluruh siklus pengembangan perangkat lunak—mulai dari pengkodean dan pengujian hingga pembuatan, eksekusi, dan deployment—sehingga membantu Anda mengelola aplikasi secara efisien.
-
Pada jendela **New Project**, pilih **Java** dari panel kiri dan konfigurasikan pengaturan berikut:
Name: Masukkan nama proyek Anda. Contoh ini menggunakan helloaliyun.
Location: Tentukan direktori tempat menyimpan proyek.
Build system: Pilih **Maven** untuk membuat proyek Maven.
JDK: Pilih versi JDK yang diinginkan. Contoh ini menggunakan JDK 8.
Catatan
Untuk memilih JDK, klik **Add JDK...** dan arahkan ke direktori instalasi JDK yang telah Anda instal.
Add sample code: Pilih kotak centang ini untuk secara otomatis membuat kelas Main.
-
Klik **Create**.
Proyek bernama helloaliyun dibuat, berisi file pom.xml dasar, direktori sumber src/main/java, dan kelas bernama Main.
-
Verifikasi penyiapan.
Di direktori src/main/java, buka paket org.example dan temukan kelas Main. Klik ganda nama kelas untuk membuka file tersebut, lalu klik ikon Run di pojok kanan atas.
Periksa konsol untuk output Hello world!. Jika pesan tersebut muncul, berarti lingkungan pengembangan Java Anda telah disiapkan dengan benar.
Contoh output:
"D:\Program Files\Java\jdk-1.8\bin\java.exe" ...
Hello world!
Process finished with exit code 0
Langkah selanjutnya
Kini setelah lingkungan pengembangan Java Anda siap, Anda dapat menjelajahi penerapannya dalam praktik. Bagian berikut menyediakan kasus penggunaan dan panduan untuk berbagai tugas pengembangan Java.
1. Panggil Alibaba Cloud OpenAPI menggunakan Java SDK
-
Untuk melakukan panggilan API, Anda harus terlebih dahulu mendapatkan Pasangan Kunci Akses (AccessKey pair) sebagai kredensial akses. Kami merekomendasikan penggunaan Pasangan Kunci Akses milik Pengguna RAM. Untuk informasi lebih lanjut, lihat Buat Pasangan Kunci Akses untuk Pengguna RAM.
-
Masuk ke SDK Center dan pilih Produk yang ingin Anda gunakan. Contoh ini menggunakan API DescribeInstanceTypeFamilies dari ECS.
-
Pada tab Parameters, konfigurasikan parameter tersebut. Rujuk tab Document di sebelah kanan untuk deskripsi API, catatan penggunaan (terutama informasi penagihan), serta makna dan penggunaan setiap parameter. Sebagai contoh, saat menggunakan API DescribeInstanceTypeFamilies, atur parameter wajib RegionId menjadi cn-qingdao untuk China (Qingdao) dan parameter opsional Generation menjadi ecs-5 untuk keluarga instans seri V. Tab Document memberikan rincian lebih lanjut untuk setiap parameter permintaan, seperti tipe data, apakah wajib diisi, dan contoh nilai.
-
Pada tab SDK Sample, pilih Java dan klik Download Project untuk mengunduh dan mengekstrak proyek SDK.
-
Kode contoh:
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 mengambil kunci dari variabel lingkungan.
.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) {
// Cetak kode kesalahan.
System.out.println(teaException.getCode());
// Cetak pesan kesalahan, yang mencakup RequestId.
System.out.println(teaException.getMessage());
// Cetak konten kesalahan spesifik yang dikembalikan oleh server.
System.out.println(teaException.getData());
} catch (Exception e) {
TeaException error = new TeaException(e.getMessage(), e);
// Pesan kesalahan.
System.out.println(error.getMessage());
// Alamat diagnostik.
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}
-
Hasil: Setelah menjalankan kode, API mengembalikan statusCode 200, yang menunjukkan panggilan berhasil. Badan respons berisi daftar keluarga instans pada bidang InstanceTypeFamilies. Cuplikan berikut menunjukkan bagian dari respons:
...'statusCode': 200, 'body': {'InstanceTypeFamilies': {'InstanceTypeFamily': [{'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.g6'}, {'Generation': 'ecs-5', 'InstanceTypeFamilyId': 'ecs.ebmg6'}]}}
-
Untuk informasi lebih lanjut tentang penggunaan Java SDK untuk memanggil Alibaba Cloud OpenAPI, lihat Gunakan Alibaba Cloud SDK untuk Java di IDE.
2. Panggil API Qwen untuk mengimplementasikan fitur percakapan
-
Alibaba Cloud Model Studio memungkinkan Anda memanggil model besar melalui API. Layanan ini menyediakan beberapa metode akses, termasuk API yang kompatibel dengan OpenAI dan SDK DashScope. Untuk memanggil layanan ini, aktifkan terlebih dahulu Alibaba Cloud Model Studio dan peroleh Kunci API. Untuk informasi lebih lanjut, lihat Account Settings.
-
Tambahkan dependensi berikut ke file pom.xml Anda untuk menginstal SDK DashScope untuk Java:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<!-- Ganti 'the-latest-version' dengan versi terbaru dari https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<version>the-latest-version</version>
</dependency>
-
Setelah menginstal SDK Java dan DashScope, jalankan kode contoh berikut untuk memanggil 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 mengambil Kunci API dari variabel lingkungan. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan .apiKey("sk-xxx") dan gunakan Kunci API Anda dari 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);
}
}
-
Hasil: Setelah menjalankan kode, Anda akan melihat output yang mirip dengan berikut:
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
-
Untuk informasi lebih lanjut tentang pemanggilan API Qwen, lihat Gunakan SDK DashScope untuk Java.
3. Panggil API DeepSeek
Bagian ini menjelaskan cara memanggil model DeepSeek menggunakan API pada platform Alibaba Cloud Model Studio. deepseek-r1 dan deepseek-v3 masing-masing menyediakan 1 juta token gratis, dan beberapa model hasil distilasi tersedia untuk uji coba gratis dalam waktu terbatas.
-
Untuk memanggil layanan ini, aktifkan terlebih dahulu Alibaba Cloud Model Studio dan peroleh Kunci API. Untuk informasi lebih lanjut, lihat Account Settings.
-
Tambahkan dependensi berikut ke file pom.xml Anda untuk menginstal SDK DashScope untuk Java:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dashscope-sdk-java</artifactId>
<!-- Ganti 'the-latest-version' dengan versi terbaru dari https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java -->
<version>the-latest-version</version>
</dependency>
Penting
Versi SDK DashScope harus 2.18.2 atau lebih baru.
-
Setelah menginstal SDK Java dan DashScope, jalankan kode contoh berikut untuk memanggil layanan model 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()
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan .apiKey("sk-xxx") dan gunakan Kunci API Anda dari Alibaba Cloud Model Studio.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("deepseek-r1")
.messages(Arrays.asList(userMsg))
// Jangan atur ini ke "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) {
// Gunakan framework logging untuk mencatat informasi pengecualian.
System.err.println("An error occurred while calling the generation service: " + e.getMessage());
}
System.exit(0);
}
}
-
Tinjau output.
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.**