Tidak Dapat Menghasilkan Deskriptor Modul untuk Nama Modul Dijana Auto dalam Java 9?
Dalam Java 9, isu biasa timbul apabila menggunakan nama modul yang dijana secara automatik untuk kebergantungan yang mengandungi kata kunci terpelihara seperti "asli." Ini boleh membawa kepada ralat seperti "modul tidak ditemui."
Memahami Isu
Java 9 memperkenalkan konsep modul, yang membenarkan pengkapsulan dan pengasingan kod. Modul mempunyai nama unik yang mesti mematuhi peraturan pengecam Java. Walau bagaimanapun, kata kunci tertentu, seperti "asli", tidak boleh digunakan sebagai sebahagian daripada nama modul.
Kemungkinan Penyelesaian
1. Menggunakan Entri Manifes Nama-Modul-Automatik
Satu penyelesaian ialah menambah entri manifes "Nama-Modul-Automatik" pada fail JAR bagi pergantungan yang bermasalah. Entri ini menentukan nama modul tersuai untuk artifak, mengatasi artifak yang dijana secara automatik. Sebagai contoh, anda boleh mengubah suai fail manifes kebergantungan Netty Epoll untuk memasukkan:
<Automatic-Module-Name>netty.transport.epoll</Automatic-Module-Name>
2. Menambah Pengisytiharan Modul pada JAR
Pemilik artifak juga boleh menambah pengisytiharan modul menggunakan fail "module-info.java" pada JAR mereka. Ini mentakrifkan nama modul secara eksplisit, memastikan keserasian dengan sistem modul Java 9.
Konvensyen Penamaan Alternatif
Mengikut spesifikasi Java, nama modul mestilah nama pakej yang sah. Untuk menampung kes di mana nama domain Internet kebergantungan tidak diterjemahkan kepada nama pakej yang sah, konvensyen berikut dicadangkan:
Walau bagaimanapun, ambil perhatian bahawa penggunaan garis bawah dalam nama modul adalah tidak digalakkan dalam Java 9 kerana statusnya sebagai kata kunci.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \'Tidak Dapat Menerbitkan Deskriptor Modul\' untuk Nama Modul Dijana Auto dalam Java 9?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!