126 votes

Le paquet déclaré ne correspond pas au paquet attendu ""

J'utilise Eclipse et je n'ai pas utilisé Java depuis un certain temps. Cependant, je peux compiler mon code en ligne de commande sans problème et générer les fichiers nécessaires. .class des dossiers. 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 .

3 votes

Cette classe est-elle dans le /src/Converters répertoire ?

8 votes

Si vous devez modifier votre question rétrospectivement (ce qui semble inutile, pour être honnête), vous devez être cohérent à ce sujet - vous n'avez pas modifié le premier paragraphe de la question. Vous avez également rendu tous les commentaires bizarres. Pourquoi tout changer, près d'un an et demi plus tard ?

0 votes

Dans mon cas (en utilisant l'extension VSCode Java Project Manager), pour certaines raisons, j'ai dû changer manuellement le package de la classe, ou vous pouvez maintenir le pointeur de la souris sur la ligne rouge sous l'erreur et ensuite cliquer sur "quick fix" pour le faire automatiquement. (Bien sûr, je n'ai aucune idée de la façon dont cela s'est produit parce que le VSCode Java Project Manager gère cela lorsque vous créez un nouveau dossier, tout seul et je n'ai pas pu reproduire ce comportement une fois de plus). Quoi qu'il en soit.

0voto

Omri374 Points 1655

Il y a un million de réponses, mais en voici une autre : copier les fichiers dans un nouveau paquet, supprimer l'ancien paquet et renommer le nouveau paquet au nom de l'ancien paquet.

0voto

Assurez-vous que vous n'utilisez pas le paquetage par défaut. Créez un nouveau paquet avec le nom 'devices' et copiez ce code dedans et utilisez-le.

0voto

user2534191 Points 31

J'ai eu ce genre de situations lorsque j'ai copié des classes d'autres paquets/projets.

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

0voto

Leniel Macaferi Points 38324

Dans mon cas, j'ai sélectionné le marqueur d'erreur dans l'onglet Problèmes et je l'ai supprimé puisque la méthode main du fichier Java était exécutée correctement. Il s'agit d'un problème dans Eclipse Neon avec la multitude de plugins qu'il a installés.

0voto

Gopi Points 606

J'ai également rencontré ce problème lorsque j'ai importé un projet existant dans Eclipse. C'était un projet Gradle, mais lors de l'importation, je l'ai importé comme un projet normal en cliquant sur Général-> Projets existants dans l'espace de travail. Pour résoudre le problème, j'ai ajouté la nature de Gradle au projet par ::: : Clic droit sur le dossier du projet -> Configure-> Add Gradle Nature

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