91 votes

doit déclarer un paquet nommé eclipse car cette unité de compilation est associée au module nommé

Je viens de télécharger eclipse pour Java hier, mais lorsque j'ai essayé de créer mon premier programme, je n'ai cessé d'obtenir cette erreur :

must declare a named package eclipse because this compilation unit is associated to the named module x. 

Comment puis-je réparer cela ?

192voto

Danh Tran Points 1186

Supprimez juste module-info.java à l'onglet de l'explorateur de projet.

13 votes

Pourquoi Eclipse nous oblige-t-il à en créer un en premier lieu ?

20 votes

Upvoted, Même si cette solution fonctionne, une petite explication de pourquoi pour le supprimer serait utile.

3 votes

Tellement de problèmes peuvent être résolus juste en supprimant ce fichier haha

60voto

reben Points 531

La réponse "supprimer module-info.java dans l'onglet de l'explorateur de projet" est la plus simple et la plus directe, mais

pour ceux qui voudraient un petit pour mieux comprendre ou contrôler ce qui se passe, les méthodes alternatives suivantes peuvent être souhaitables ;

  • créer une application un peu plus réaliste : com.votreentreprise.etc. ou simplement com.HelloWorld (nom du projet : com.HelloWorld et nom de la classe : HelloWorld)

o

  • lors de la création du projet java ; lorsque dans la boîte de dialogue Créer un projet Java, ne choisissez pas Terminer mais Suivant, et désélectionnez Créer le fichier module-info.java

18voto

Deepak Points 158

Raison de l'erreur : Le nom du paquet est resté vide lors de la création d'une classe. Cela permet d'utiliser le paquetage par défaut. Cela provoque donc cette erreur.

Une solution rapide :

  1. Créez un paquet, par exemple helloWorld à l'intérieur de la src dossier.
  2. Déplacements helloWorld.java dans ce paquet. Il suffit de glisser-déposer sur le paquet. L'erreur devrait disparaître.

Explication :

  • Ma version d'Eclipse : 2020-09 (4.17.0)
  • Ma version de Java : Java 15, 2020-09-15

La dernière version de Eclipse requis java11 ou plus. Le site module est introduite dans java9 et les versions suivantes. Elle a été proposée en 2005 pour Java7 mais a été suspendue par la suite. Java est orienté objet. Et le module est l'approche du modulateur que l'on peut voir dans des langages comme le C. Il était plus difficile de le mettre en œuvre, ce qui a pris beaucoup de temps pour sa sortie. Source : Comprendre les modules Java 9

W orsque vous créez un nouveau projet dans Eclipse, la fonction module est sélectionnée par défaut. Et dans Eclipse-2020-09-R, une pop-up apparaît qui demande la création de module-info.java fichier. Si vous sélectionnez don't create puis module-info.java ne sera pas créé et votre projet sera libéré de ce problème.

La meilleure pratique est lors de la création du projet, après avoir donné le nom du projet. Cliquez sur next au lieu de finish . Sur la page suivante, en bas de la page, il est demandé de créer le fichier module-info.java fichier. Sélectionnez ou désélectionnez selon vos besoins.

Si elle est sélectionnée : (par défaut), cliquez sur finish et donnez un nom au module. Maintenant, en créant une classe n'oubliez pas de donner le nom du paquet . Chaque fois que vous créez une classe, donnez-lui un nom de paquet. N'importe quel nom, mais ne le laissez pas vide.

Si vous désélectionnez : Pas de problème

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X