Le package déclaré ne correspond pas au package attendu “”

J’utilise Eclipse et je n’ai pas utilisé Java depuis un certain temps. Cependant, je peux comstackr mon code sur la ligne de commande et générer les fichiers .class nécessaires. Dans Eclipse, il se plaint que The declared package "Devices" does not match the expected package "" . Qu’est-ce que cela signifie et comment puis-je le réparer?

Exemple de code:

 package Devices; public final class DevFrequency { public short messageID; public double frequency; public short converterID; public DevFrequency() { } public DevFrequency(short _messageID,double _frequency,short _converterID) { messageID = _messageID; frequency = _frequency; converterID = _converterID; } } 

Le nom de mon projet est DeviceDDS .

Eclipse s’attend à ce que le paquetage déclaré corresponde à la hiérarchie des répertoires – il est donc prévu que votre fichier Java se trouve dans un répertoire appelé “Devices” sous votre racine source. Pour le moment, il semble que le fichier se trouve directement dans votre racine source. Donc, créez le répertoire approprié et déplacez le fichier là-bas.

Notez que les packages sont généralement en minuscules et incluent le nom de votre organisation dans l’ordre DNS inverse, par exemple

 com.foo.devices; 

Solution 1: Une solution qui a fonctionné pour moi lorsque cette erreur ” Le package déclaré ne correspond pas au package attendu ” s’est produite pour un projet que j’ai extrait d’eclipse CVS:

1. Cliquez droit sur le projet dans la barre de navigation et cliquez sur ‘supprimer’
Assurez-vous que l’option « Supprimer le contenu du projet sur le disque » n’est PAS cochée et cliquez sur OK.
3. Une fois le projet supprimé, allez dans Fichier -> Importer -> Général -> Projets existants dans l’espace de travail
4.Sélectionnez votre espace de travail dans la liste du répertoire et cochez la case en regard du nom de votre projet. Cliquez sur ‘ Terminer

Solution 2: Une fois de plus, j’ai cette erreur avec le message suivant

Erreurs de génération Eclipse – java.lang.Object ne peut pas être résolu Je devais suivre une autre mention de route ici et l’erreur a disparu.

En attendant, le travail consiste à supprimer la bibliothèque système JRE du projet, puis à la rappend. Voici les étapes:

  1. Accédez aux propriétés du projet avec l’erreur de génération (clic droit> Propriétés). Affichez l’onglet “Bibliothèques” dans la section “Chemin d’access”. Recherchez la “Bibliothèque du système JRE” dans la liste bogue eclipse mais un projet mal configuré)
  2. Supprimer la “bibliothèque système JRE”
  3. Cliquez sur “Ajouter une bibliothèque …”, sélectionnez “Bibliothèque système JRE” et ajoutez le JRE approprié pour le projet (par exemple, “JRE par défaut de l’espace de travail”).
  4. Appuyez sur “Terminer” dans la sélection de la bibliothèque et sur “OK” dans les propriétés du projet, puis attendez la reconstruction du projet.

Espérons que l’erreur sera résolue …

Essayez de fermer et de rouvrir le fichier.

Il est possible d’obtenir cette erreur dans eclipse lorsqu’il n’y a absolument rien de mal avec l’emplacement du fichier ou la déclaration du paquet. Essayez cela avant de passer beaucoup de temps à essayer ces autres solutions. Parfois, l’éclipse est confuse. Cela a fonctionné pour moi à plusieurs resockets. Je crédite l’idée à Joshua Goldberg .

J’ai eu ce problème – les autres classes dans mon paquet étaient bien, mais une classe avait l’erreur contre elle. Il n’y avait rien de mal à la déclaration de colis.

Je l’ai corrigé en effectuant refactor->move et en déplaçant temporairement la classe vers un autre package, puis refactor->move revenait au package d’origine.

J’ai résolu le problème en procédant comme suit:

  1. Sélectionnez le projet – Clic droit – Chemin de compilation java.

  2. Dans l’onglet Source – vous changez le src en src/main/java .

  3. Eclipse réorganisera tout le projet.

Vous devez avoir la classe dans un dossier Devices .

Créez un nouveau package sous votre projet intitulé “Devices” et placez-y votre classe. Cela équivaut à placer la classe dans un répertoire appelé “Devices” dans le dossier source de votre projet.

Assurez-vous que Devices est défini en tant que dossier source dans les propriétés du projet.

J’ai eu le même genre d’erreur mais mon colis était absolument correct. Lorsque je viens de fermer et d’ouvrir mon éditeur, l’erreur disparaît. J’espère que cela pourrait aider dans certains scénarios.

Assurez-vous que vous avez créé un package correct. Vous pourriez avoir une chance de créer un dossier au lieu du package

  1. Créez le répertoire [votre.projet.name] dans le répertoire racine de votre espace de travail.

  2. Copiez * .java de “src” dans ce répertoire.

  3. Fermez et rouvrez le projet.

Cela m’est arrivé lorsque je vérifiais un projet à partir d’un repository svn dans eclipse. Il y avait des fichiers jar dans mon dossier .m2 que eclipse ne regardait pas. Pour résoudre le problème, j’ai fait:

clic droit sur le dossier de projet Configure> Convert to Maven Project

et cela a résolu le problème.

Il y a un million de réponses, mais en voici une autre: copiez les fichiers dans un nouveau paquet, supprimez l’ancien paquet et renommez le nouveau paquet au nom de l’ancien paquet.

Assurez-vous de ne pas utiliser le package par défaut. Créez un nouveau package avec le nom “devices” et copiez ce code à l’intérieur et utilisez-le.

J’ai eu ce genre de situation lorsque j’ai copié des classes à partir d’autres packages / projets.

Menu-> Projet-> Nettoyer aide généralement.

Dans mon cas, j’ai sélectionné le marqueur d’erreur dans l’onglet Problems et l’ai supprimé car la méthode principale du fichier Java était correctement exécutée. C’est un peu de pépin dans Eclipse Neon avec la multitude de plugins installés.

J’ai résolu ce .classpath en supprimant un atsortingbut “excluant” pour ce package dans mon fichier .classpath . Supprimez l’atsortingbut, pas la balise entière, ou “src / java” cessera d’être un dossier source.