89 votes

Eclipse: le package déclaré ne correspond pas au package attendu

J'ai un problème de l'importation d'un projet externe. Je vais fichier->importer->projets existants dans l'espace de travail, choisissez le dossier où est situé le projet et tout est importé - mais les noms de package du projet ne semblent pas être ce qu'Eclipse attend. Les noms de package tous ont un préfixe:

prefix.packagename1 
prefix.packagename2

etc.

Mais Eclipse attend

src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2

etc. parce que le répertoire src/prefix1/préfixe/package1

Je n'ai pas vraiment envie de déconner avec le code externe, alors comment dois-je dire à Eclipse pour ignorer le répertoire "src/prefix1" Ou quoi d'autre puis-je faire?

Merci beaucoup, Henry

107voto

Jon Skeet Points 692016

Il suffit d'aller dans le chemin de génération et le chemin source pour être src/prefix1 au lieu de src .

Il peut être plus simple de cliquer avec le bouton droit sur le répertoire src et de sélectionner "Chemin de construction / Supprimer du chemin de construction", puis de rechercher le répertoire src/prefix1 , de cliquer avec le bouton droit de la souris et de sélectionner "Chemin de construction / Utiliser comme dossier source ".

71voto

Kyle Shanafelt Points 311

Je viens de tomber sur ce problème, et puisque M. Skeet la solution ne fonctionne pas pour moi, je vais vous raconter comment j'ai résolu ce problème.

Il s'avère que j'ai ouvert le fichier java en vertu de la 'src', avant de déclarer d'un répertoire source.

Après un clic droit sur le 'src' répertoire de l'éclipse, en sélectionnant "build path", et puis "Utiliser comme Source de Dossier"

Fermer et rouvrir le déjà ouvert le fichier java (F5 rafraîchissante cela n'a pas fonctionné).

Pourvu que le chemin d'accès au fichier java de "prefix1" à partir de lignes avec le package dans le fichier (par exemple à partir du demandeur question prefix1.préfixe.packagename2). Cela devrait fonctionner

Exclipse devrait plus se plaindre de 'src.'

11voto

Vlad Points 271

Déplacez les fichiers de votre problème * .java vers un autre dossier.

Cliquez sur l'élément 'src' et appuyez sur "F5".

Les croix rouges vont disparaître.

Renvoyez vos fichiers * .java en "chemin du paquet", cliquez sur l'élément "src" et appuyez sur "F5".

Tout devrait bien se passer.

2voto

Parveen Yadav Points 21

Si vous avez importé un projet existant, supprimez simplement vos dossiers source, puis ajoutez-les à nouveau pour créer le chemin, puis redémarrez Eclipse. La plupart du temps, eclipse continuera à afficher l'erreur jusqu'à ce que vous redémarriez.

0voto

darKoram Points 317

supposons que votre projet a un paquet comme package nom1.nom2.nom3.nom4 (déclaré forfait)

votre package explorer affiche
package de haut niveau nommé nom1.nom2
sous-paquetages nommé nom3.nom4

Vous allez avoir des erreurs en raison de l'Éclipse extrait le nom du package à partir de la structure de répertoires de fichiers sur le disque de départ au moment de l'importation.

Mon cas était un peu plus compliqué, peut-être parce que j'ai été en utilisant un lien symbolique vers un dossier en dehors de mon espace de travail.

J'ai d'abord essayé de Construire Path.Java Build Path.Onglet Source.Lien Bouton Source.Recherchez le dossier avant nom1 dans votre forfait.Nom de dossier que vous le souhaitez (je pense). Mais avaient des problèmes.

Puis j'ai enlevé le dossier du chemin de génération et a essayé de Fichier.L'importation.Général.Système De Fichiers.Cliquez Sur Suivant.Depuis L'Annuaire.Recherchez le dossier ci-dessus nom1.Cliquez Sur Le Bouton Avancé.Vérifier Créer des Liens dans l'espace de travail.Vérifier le bouton terminer.

Cela a fonctionné pour moi. darKoram

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