Argumen Baris Perintah di Java

1. Perkenalan

Sangat umum untuk menjalankan aplikasi dari baris perintah menggunakan argumen. Terutama di sisi server. Biasanya, kami tidak ingin aplikasi melakukan hal yang sama pada setiap proses: kami ingin mengkonfigurasi perilakunya dengan cara tertentu.

Dalam tutorial singkat ini, kita akan menjelajahi bagaimana kita bisa menangani argumen baris perintah di Java.

2. Mengakses Argumen Baris Perintah di Java

Karena metode utama adalah titik masuk aplikasi Java, JVM meneruskan argumen baris perintah melalui argumennya.

Cara tradisional adalah dengan menggunakan array String :

public static void main(String[] args) { // handle arguments }

Namun, Java 5 memperkenalkan varargs, yaitu susunan pada pakaian domba. Oleh karena itu, kita dapat mendefinisikan main kita dengan String vararg:

public static void main(String... args) { // handle arguments }

Keduanya identik, oleh karena itu memilih di antara keduanya sepenuhnya terserah selera dan preferensi pribadi.

Parameter metode dari metode utama berisi argumen baris perintah dalam urutan yang sama yang kita teruskan saat eksekusi. Jika kita ingin mengakses berapa banyak argumen yang kita dapatkan, kita hanya perlu memeriksa panjang array.

Misalnya, kita dapat mencetak jumlah argumen dan nilainya pada output standar:

public static void main(String[] args) { System.out.println("Argument count: " + args.length); for (int i = 0; i < args.length; i++) { System.out.println("Argument " + i + ": " + args[i]); } }

Perhatikan bahwa dalam beberapa bahasa, argumen pertama adalah nama aplikasi. Di sisi lain, di Java, array ini hanya berisi argumen.

3. Bagaimana Meneruskan Argumen Baris Perintah

Sekarang kami memiliki aplikasi yang menangani argumen baris perintah, kami sangat ingin mencobanya. Mari kita lihat opsi apa yang kita miliki.

3.1. Garis komando

Cara paling jelas adalah dengan baris perintah. Mari kita asumsikan bahwa kita telah menyusun kelas com.baeldung.commandlinearguments.CliExample dengan metode utama kita di dalamnya.

Kemudian kita bisa menjalankannya dengan perintah berikut:

java com.baeldung.commandlinearguments.CliExample

Ini menghasilkan keluaran sebagai berikut:

Argument count: 0

Sekarang, kita bisa memberikan argumen setelah nama kelas:

java com.baeldung.commandlinearguments.CliExample Hello World!

Dan hasilnya adalah:

Argument count: 2 Argument 0: Hello Argument 1: World!

Biasanya, kami mempublikasikan aplikasi kami sebagai file jar, bukan sebagai sekumpulan file .class . Katakanlah, kami mengemasnya dalam cli-example.jar , dan kami menetapkan com.baeldung.commandlinearguments.CliExample sebagai kelas utama.

Sekarang kita bisa menjalankannya tanpa argumen dengan cara berikut:

java -jar cli-example.jar

Atau dengan argumen:

java -jar cli-example.jar Hello World! Argument count: 2 Argument 0: Hello Argument 1: World!

Perhatikan, Java akan memperlakukan setiap argumen yang kita teruskan setelah nama kelas atau nama file jar sebagai argumen aplikasi kita . Oleh karena itu, semua yang kami lewati sebelumnya adalah argumen untuk JVM itu sendiri.

3.2. Gerhana

Saat kami mengerjakan aplikasi kami, kami ingin memeriksa apakah itu berfungsi seperti yang kami inginkan.

Di Eclipse, kita dapat menjalankan aplikasi dengan bantuan konfigurasi run. Misalnya, konfigurasi proses menentukan JVM mana yang akan digunakan, apa titik masuknya, jalur kelasnya, dan seterusnya. Dan tentu saja, kita dapat menentukan argumen baris perintah.

Cara termudah untuk membuat konfigurasi proses yang sesuai adalah dengan mengklik kanan metode utama kami , lalu pilih Run As> Aplikasi Java dari menu konteks:

Dengan ini, kami langsung menjalankan aplikasi kami dengan pengaturan yang menghormati pengaturan proyek kami.

Untuk memberikan argumen, kita harus mengedit konfigurasi run tersebut. Kita bisa melakukannya melalui opsi menu Run> Run Configurations… . Di sini, kita harus mengklik tab Argumen dan mengisi kotak teks Argumen program :

Menekan Jalankan akan menjalankan aplikasi dan meneruskan argumen yang baru saja kita masukkan.

3.3. IntelliJ

IntelliJ menggunakan proses serupa untuk menjalankan aplikasi. Ini menyebut opsi ini hanya sebagai konfigurasi.

Pertama, kita perlu klik kanan pada metode utama , lalu pilih Run 'CliExample.main ()':

Ini akan menjalankan program kami, tetapi juga akan menambahkannya ke daftar Jalankan untuk konfigurasi lebih lanjut.

Jadi, untuk mengkonfigurasi argumen, kita harus memilih Run> Edit Configurations… dan edit kotak teks Argumen program :

Setelah itu, kita harus menekan OK dan menjalankan kembali aplikasi kita, misalnya dengan tombol run di toolbar.

3.4. NetBeans

NetBeans juga sejalan dengan proses yang berjalan dan konfigurasinya.

Kita harus menjalankan aplikasi kita terlebih dahulu dengan mengklik kanan pada metode utama dan memilih Jalankan File:

Seperti sebelumnya, ini membuat konfigurasi run dan menjalankan program.

Next, we have to configure the arguments in that run configuration. We can do that by choosing Run > Set Project Configuration > Customize… Then we should Run on the left and fill the Arguments text field:

After that, we should hit OK and start the application.

4. Third-Party Libraries

Manual handling of the command-line arguments is straightforward in simple scenarios. However, as our requirements become more and more complex, so does our code. Therefore, if we want to create an application with multiple command-line options, it would be easier to use a third-party library.

Fortunately, there're a plethora of those libraries which support most use cases. Two popular examples are Picocli and Spring Shell.

5. Conclusion

Itu selalu merupakan ide bagus untuk membuat perilaku aplikasi Anda dapat dikonfigurasi. Di artikel ini, kami melihat cara melakukannya menggunakan argumen baris perintah. Selain itu, kami membahas berbagai cara untuk menyampaikan argumen tersebut.

Seperti biasa, contoh tersedia di GitHub.