Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan Isu Ketergantungan Modul Java 9 dengan Nama Dijana Auto yang Mengandungi Kata Kunci Terpelihara?
Tidak Dapat Menyelesaikan Ketergantungan Modul untuk Nama Dijana Auto dalam Java 9?
Isu ini timbul apabila kebergantungan dengan modul yang dijana secara automatik nama mengandungi kata kunci "asli," yang dikhaskan di Java 9. Akibatnya, menjadi mustahil untuk menambahnya sebagai pergantungan kepada deskriptor modul.
Penyelesaian:
Untuk menyelesaikan isu ini, dua pendekatan utama boleh dipertimbangkan:
Tambah Atribut Nama Modul Automatik:
Pemilik artifak boleh membungkus Fail META-INF/MANIFEST.MF dengan artifak yang menentukan atribut Automatic-Module-Name. Atribut ini mentakrifkan nama modul yang akan digunakan oleh deskriptor modul. Dengan menetapkan Automatic-Module-Name kepada nama yang sah (tidak termasuk "asli"), isu itu boleh diselesaikan.
Tambah Pengisytiharan Modul ke JAR:
Pemilik artifak boleh menambah pengisytiharan modul menggunakan module-info.java ke fail JAR mereka. Ini membolehkan mereka menentukan nama modul secara eksplisit, dengan itu mengelakkan nama yang dijana secara automatik. Walau bagaimanapun, pendekatan ini memerlukan penghijrahan secara beransur-ansur, kerana perpustakaan dan rangka kerja mengamalkannya dari bawah ke atas.
Spesifikasi Deskriptor Modul:
Mengikut Spesifikasi pengisytiharan modul Java 9, nama modul terdiri daripada satu atau lebih pengecam Java yang dipisahkan oleh noktah. Ini bermakna nama modul mesti mematuhi peraturan berikut:
Nota pada Underscore dalam Java 9:
Walaupun garis bawah biasanya dibenarkan sebagai sebahagian daripada nama modul, ia adalah penting untuk ambil perhatian bahawa garis bawah kini menjadi kata kunci dalam Java 9. Oleh itu, pengecam yang mengandungi garis bawah sebagai aksara awal mesti dielakkan. Contohnya:
int _native; // Works fine int _; // Causes an error in Java 9
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Isu Ketergantungan Modul Java 9 dengan Nama Dijana Auto yang Mengandungi Kata Kunci Terpelihara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!