Java >> Java tutorial >  >> Tag >> package

skal erklære en navngivet pakkeformørkelse, fordi denne kompileringsenhed er knyttet til det navngivne modul

Bare slet module-info.java på fanen Project Explorer.


Svaret "slet module-info.java på din Project Explorer-fane" er det nemmeste og mest ligetil svar, men

for dem, der gerne vil have en lidt mere forståelse eller kontrol over, hvad der sker, kan følgende alternative metoder være ønskelige;

  • lav en aldrig så lidt mere realistisk applikation; com.YourCompany.etcor bare com.HelloWorld (projektnavn:com.HelloWorld og klassenavn:HelloWorld)

eller

  • når du opretter java-projektet; Når du er i dialogboksen Opret Java-projekt, skal du ikke vælge Udfør, men Næste, og fravælge Opret module-info.java-fil

Årsag til fejlen: Pakkenavn efterladt tomt under oprettelse af en klasse. Dette gør brug af standardpakke. Derfor forårsager denne fejl.

Hurtig løsning:

  1. Opret en pakke, f.eks. helloWorld inde i src mappe.
  2. Flyt helloWorld.java fil i den pakke. Bare træk og slip på pakken. Fejlen skulle forsvinde.

Forklaring:

  • My Eclipse-version:2020-09 (4.17.0)
  • Min Java-version:Java 15, 2020-09-15

Seneste version af Eclipse påkrævet java11 eller over. module funktion er introduceret i java9 og frem. Det blev foreslået i 2005 til Java7, men blev senere suspenderet. Java er objektorienteret baseret. Og modul er modulær tilgangen, som kan ses i sprog som C. Det var sværere at implementere det, hvorfor det tog lang tid for udgivelsen. Kilde: Forstå Java 9-moduler

W Når du opretter et nyt projekt i Eclipse, er modulfunktionen som standard valgt. Og i Eclipse-2020-09-R vises en pop-up, som beder om oprettelse af module-info.java fil. Hvis du vælger don't create derefter module-info.java vil ikke oprette, og dit projekt vil frigøres fra dette problem.

Bedste praksis er, mens du samler projekter, efter at have givet projektets navn. Klik på next knap i stedet for finish . På næste side nederst beder den om oprettelse af module-info.java fil. Vælg eller fravælg efter behov.

Hvis valgt: (som standard) klik på finish knap og giv navn til modulet. Mens du opretter en klasse, glem ikke at give pakkenavn . Når du opretter en klasse, skal du blot give pakkenavn. Ethvert navn, lad det bare ikke stå tomt.

Hvis fravælg: Intet problem


Java tag