Hujah Baris Perintah di Jawa

1. Pengenalan

Adalah biasa untuk menjalankan aplikasi dari baris perintah menggunakan argumen. Terutama di bahagian pelayan. Biasanya, kami tidak mahu aplikasi melakukan perkara yang sama pada setiap larian: kami ingin mengkonfigurasi kelakuannya dengan cara tertentu.

Dalam tutorial ringkas ini, kita akan meneroka bagaimana kita dapat menangani argumen baris perintah di Java.

2. Mengakses Argumen Baris Perintah di Jawa

Oleh kerana kaedah utamanya adalah titik masuk aplikasi Java, JVM meneruskan argumen baris perintah melalui argumennya.

Cara tradisional adalah menggunakan array String :

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

Namun, Java 5 memperkenalkan varargs, yang merupakan susunan pakaian domba. Oleh itu, kita dapat menentukan utama kita dengan String vararg:

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

Mereka sama, oleh itu memilih antara mereka bergantung sepenuhnya pada citarasa dan keutamaan peribadi.

Parameter kaedah dari kaedah utama mengandungi argumen baris perintah dalam urutan yang sama yang kami lalui semasa pelaksanaan. Sekiranya kita ingin mengakses berapa banyak argumen yang kita dapat, kita hanya perlu memeriksa panjang array.

Sebagai contoh, kita dapat mencetak bilangan argumen dan nilainya pada output standard:

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 bahawa dalam beberapa bahasa, argumen pertama adalah nama aplikasi. Sebaliknya, di Java, array ini hanya mengandungi argumen.

3. Cara Lulus Argumen Garis Perintah

Sekarang kami mempunyai aplikasi yang menangani argumen baris perintah, kami ingin mencubanya. Mari lihat pilihan apa yang kita ada.

3.1. Garis Perintah

Cara yang paling jelas adalah baris perintah. Anggaplah kita sudah menyusun kelas com.baeldung.commandlinearguments.CliContoh dengan kaedah utama kita di dalamnya.

Kemudian kita boleh menjalankannya dengan arahan berikut:

java com.baeldung.commandlinearguments.CliExample

Ia menghasilkan output berikut:

Argument count: 0

Sekarang, kita dapat menyampaikan hujah selepas nama kelas:

java com.baeldung.commandlinearguments.CliExample Hello World!

Dan outputnya adalah:

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

Biasanya, kami menerbitkan aplikasi kami sebagai fail jar, bukan sebagai sekumpulan fail .class . Katakan, kami membungkusnya dalam cli-example.jar , dan kami menetapkan com.baeldung.commandlinearguments.CliExample sebagai kelas utama.

Sekarang kita boleh menjalankannya tanpa argumen dengan cara berikut:

java -jar cli-example.jar

Atau dengan hujah:

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

Perhatikan, bahawa Java akan menganggap setiap argumen yang kami lalui setelah nama kelas atau nama fail jar sebagai argumen aplikasi kami . Oleh itu, semua yang kita lalui sebelum ini adalah hujah untuk JVM itu sendiri.

3.2. Gerhana

Semasa kami mengusahakan aplikasi kami, kami ingin memeriksa sama ada ia berfungsi seperti yang kami mahukan.

Di Eclipse, kita dapat menjalankan aplikasi dengan bantuan konfigurasi run. Sebagai contoh, konfigurasi run menentukan JVM mana yang akan digunakan, apakah titik masuk, classpath dan sebagainya. Dan tentu saja, kita dapat menentukan argumen baris perintah.

Cara termudah untuk membuat konfigurasi run yang sesuai adalah dengan klik kanan pada kaedah utama kami , kemudian pilih Run As> Aplikasi Java dari menu konteks:

With this, we instantly run our application with settings that honor our project settings.

To provide arguments, we should then edit that run configuration. We can do it through the Run > Run Configurations… menu option. Here, we should click the Arguments tab and fill the Program arguments textbox:

Hitting Run will run the application and pass the arguments we just entered.

3.3. IntelliJ

IntelliJ uses a similar process to run applications. It calls these options simply as configurations.

First, we need to right-click on the main method, then choose Run ‘CliExample.main()':

This will run our program, but it will also add it to the Run list for further configuration.

So, then to configure arguments, we should choose Run > Edit Configurations… and edit the Program arguments textbox:

After that, we should hit OK and rerun our application, for example with the run button in the toolbar.

3.4. NetBeans

NetBeans also falls into line with its running and configuration processes.

We should run our application first by right-clicking on the main method and choosing Run File:

Like before, this creates a run configuration and runs the 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

Adalah idea yang baik untuk menjadikan tingkah laku aplikasi anda dapat dikonfigurasi. Dalam artikel ini, kami melihat bagaimana melakukannya dengan menggunakan argumen baris perintah. Selain itu, kami merangkumi pelbagai cara untuk menyampaikan hujah tersebut.

Seperti biasa, contohnya terdapat di GitHub.