web-dev-qa-db-fra.com

Déclaration Eclipse Open dans un projet Java

Dans un projet Eclipse SVN, j'ai un problème. quand j'ai essayé d'ouvrir une déclaration d'une classe, j'ai eu cette erreur: 

Problems opening an editor Reason : projectname does not exist.

De plus, la refactorisation ne fonctionne pas.

J'ai effectué des recherches sur le Web et essayé toutes les solutions trouvées, mais rien n'y fait… .. J'ai téléchargé différentes versions d'Eclipse et de Java et suis passé à un espace de travail vierge, mais le problème persiste.

Comment puis-je résoudre mon problème ou quelle solution puis-je essayer?

43
Taegug

Clic droit sur le projet -> Propriétés -> Facettes du projet -> Cliquez sur le lien de configuration -> Cliquez sur le bouton Appliquer -> Cliquez sur le bouton OK. 

Les étapes ci-dessus doivent définir votre projet en tant que projet Java.

29
Jay

Si le projet est un projet Maven multi-module, vous devez importer les projets enfant/module en plus du projet parent/pom. Assurez-vous ensuite que vous n'ouvrez que les fichiers source via le projet enfant. Les fichiers Java ouverts de cette manière auront l’élément de menu contextuel Refactor, et la déclaration ouverte F3, etc., fonctionneront correctement. Toutefois, si le fichier Java est ouvert à partir du projet parent, ces fonctions Eclipse seront manquantes. 

C'est assez frustrant d'ouvrir un fichier via un résultat de recherche, car le fichier sera trouvé et répertorié dans les projets parent et enfant. Vous devez vous assurer que vous travaillez uniquement avec le fichier accessible via le projet enfant.

Je ne peux pas expliquer précisément ce qui se passe avec Eclipse, mais il semble qu'Eclipse ne reconnaisse pas le projet parent comme étant des projets Java, bien qu'il mette correctement en surbrillance les fichiers Java, qu'ils soient accessibles via le projet parent ou enfant.

17
mrjmh

Vous devez le vérifier en tant que projet Java ou, de préférence, son créateur doit avoir validé les fichiers .project et .classpath.

6
nitind

Miałem też dix problème. Wygląda na to, Le poète przeszukiwaniu obszaru roboczego Eclipse otworzył niewłaściwy plik.

NacisnąłemCtrl+Shift+H(Otwórz typ w hierarchii), wpisano nazwę klasy i otworzono. Si vous avez maintenant perdu votre temps, si vous voulez savoir si vous êtes ponownie.

Różnica w ikonach à:

the non-navigable J is in a contour font

2

Il manque peut-être un constructeur. Vérifiez votre PROJ_HOME/.project qui devrait ressembler à:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>the-one-user</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.Eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.Eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

Ref: FAQ Comment ajouter un générateur à un projet donné?

2
SparkAndShine

vous pouvez résoudre le problème en créant un nouveau projet Java . lorsque vous extrayez le projet, vous devez sélectionner l'option par défaut, [Extraire en tant que projet configuré à l'aide du nouvel assistant de projet].

2
Scoket Joe

J'avais la même chose dans Eclipse Luna sous Debian 8. Il manquait le fichier .classpath lors de l'extraction de SVN . Je l'ai copié manuellement, j'ai changé certains noms de chemin, j'ai actualisé le projet et cela a fonctionné.

0
Guus

Si le format du projet que vous avez extrait est de type Maven, vous devez d'abord le convertir en projet Maven. C'est peut-être parce que les classes requises n'ont pas encore été générées. Pour ce faire, cliquez avec le bouton droit sur le projet, cliquez sur Configurer, puis sur Convertir en projet Maven.

0
user3375152

Il y a un bogue dans Eclipse (du moins dans Luna) pour un flux de travail très spécifique, qui pourrait ne pas être la réponse à cette question spécifique, mais pourrait être utile pour les autres.

Si vous effectuez une importation dans le dossier src (c’est-à-dire que le dossier src a le focus avant de procéder à l’importation) à partir d’un fichier jar extrait (en tant que code source) et que vous placez des points d’arrêt dans les fichiers * .Java imbriqués dans les packages imbriqués, cela ne se produira pas. ces points d'arrêt. Pour que les choses fonctionnent, vous devez continuer à appuyer sur F3 au lieu d'utiliser "Open Declaration" pour accéder au fichier * .Java dans lequel vous souhaitez définir un point d'arrêt, puis ajoutez le point d'arrêt en double-cliquant dans la marge extrême gauche. Ensuite, exécutez> Déboguer en tant que> Application Java.

0
MacGyver

Cela se produit lorsque les bibliothèques ne sont pas disponibles sur le chemin de classe du projet où F3 ne fonctionne pas . Sélectionnez un autre projet et essayez d'utiliser f3 pour la navigation. Ça va marcher.

La solution consiste à ajouter des fichiers JAR dans vos bibliothèques ou à ajouter des bibliothèques dans votre projet . Essayez d'utiliser le projet MAVEN afin d'éviter tout problème.

0
New Bee

Vous devez l'importer en tant que projet Java/Maven. Une fois que vous avez importé le projet, suivez les étapes suivantes

Allez dans Projet -> Sélectionnez Propriétés -> Sélectionnez Références du projet -> Sélectionnez/Cochez tous les fichiers projets dépendants/enfants auxquels vous faites référence dans la base de code -> Appliquer et fermer

Une fois que vous avez terminé, essayez de nettoyer tout le projet. Cela devrait résoudre le problème.

0
Kethan Srinivas

Importez-vous un projet Maven? Si vous importez un projet maven, un fichier sera visualisé sous un angle différent, surtout si vous l'ouvrez via "Ouvrir une ressource (Ctrl + Maj + R)".

 enter image description here

Regardons l'exemple ci-dessus, "filtre de servlet" (marque comme 1) importé en tant que projet maven et projet de perspective maven créé dans 2. Si vous ouvrez un fichier dans 1, votre "Déclaration ouverte F3" ne fonctionnera pas, car n'est pas un projet maven valide. Cela fonctionnera si vous ouvrez le même fichier en 2.

J'espère que cela t'aides.

0
GMsoF