Rumah  >  Artikel  >  Java  >  Bagaimana untuk Menyelesaikan Ralat \'Tidak Dapat Menerbitkan Deskriptor Modul\' untuk Nama Modul Dijana Auto dalam Java 9?

Bagaimana untuk Menyelesaikan Ralat \'Tidak Dapat Menerbitkan Deskriptor Modul\' untuk Nama Modul Dijana Auto dalam Java 9?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 03:43:12640semak imbas

How to Resolve

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:

  • Tukar sempang atau aksara khas lain kepada garis bawah.
  • Tambahkan garis bawah pada kata kunci.
  • Komponen awalan bermula dengan aksara yang tidak dibenarkan dengan garis bawah.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn