web-dev-qa-db-fra.com

Erreur Eclipse ... ne peut pas être résolu en un type

Je travaille sur un projet Web dynamique pour migrer une application jsp/servlet de JRun vers Tomcat.

Je reçois le message d'erreur suivant: com.ibm.ivj.eab.dab.DatastoreJDBC ne peut pas être résolu en un type.

J'ai les fichiers * .class dans un dossier com/ibm/ivj/eab/dab (exactement comment je les ai trouvés). J'ai essayé de créer un fichier JAR et de l'ajouter au chemin de construction via "Ajouter un fichier JAR externe". J'ai également essayé d'ajouter un "Dossier de classe externe" et de pointer vers le dossier contenant le répertoire "com" en question.

Pourtant, l'erreur persiste. Ce qui est étrange, c’est que si je commence à taper le nom du paquet, Eclipse complète automatiquement le cours pour moi! (photo ci-dessous). Toutes les idées seraient grandement appréciées. Peut-être que les classes ont été compilées pour une version Java beaucoup plus ancienne et que cela pose des problèmes? Peut-être que je dois faire quelque chose pour que les classes finissent dans le répertoire WEB-INF/lib? 

Jeenter image description here

44
mikey
  1. Faites un clic droit sur le nom de votre projet.

  2. Cliquez sur Properties.

  3. Cliquez sur Java Build Path.

  4. Cliquez sur Add Class Folder.

  5. Ensuite, choisissez votre classe.

Sinon, Add Jars devrait fonctionner même si vous affirmez que vous avez tenté de le faire. 

Aussi, "avez-vous essayé de l'éteindre et de le rallumer"? (Redémarrez Eclipse).

39
KyleM

Aussi, si vous utilisez un projet créé, essayez de mettre à jour votre projet en cliquant sur Alt + F5. Ou faites un clic droit sur l'application et allez à maven/update project.

Il construit tous vos composants et résout toute erreur d’importation.

40
AKS

Pour résoudre l'erreur "... ne peut pas être résolue en un type .." procédez comme suit:

  1. Faites un clic droit sur la classe et sélectionnez "Chemin de construction -> Exclure"
  2. Encore une fois, faites un clic droit sur la classe et sélectionnez "Chemin de construction -> Inclure"

Ça marche pour moi.

9
Amit Kumar Das

Projet -> Nettoyer

peut au moins parfois être suffisant pour résoudre le problème.

4
Jool
  • Faites un clic droit Projet> Propriétés
  • Chemin de construction Java> ajouter un dossier de classe
  • Sélectionnez le dossier bin
  • Cliquez ok
  • Basculer onglet Commande et exportation
  • Sélectionnez le déplacement du chemin de bac nouvellement ajouté UP
  • Cliquez sur le bouton Appliquer

 enter image description here

1
Prashanth Sams

Il existe deux manières de résoudre le problème "ne peut pas être résolu en un type ":

  1. Pour les projets non maven, ajoutez les fichiers JAR manuellement dans un dossier et ajoutez-les dans le chemin de génération Java. Cela résoudrait les erreurs de compilation.
  2. Pour le projet maven, faites un clic droit sur le projet et allez à maven -> mettre à jour le projet. Sélectionnez tous les projets pour lesquels vous rencontrez des erreurs de compilation et cochez également "Forcer la mise à jour des instantanés/des versions". Cela mettra à jour le projet et corrigera les erreurs de compilation.
1
Swati Gour

Solution facile:
Aller à 

Propriété du projet -> Chemin du générateur Java -> Maven -> find c3p0-0.9.5.2.jar 

et voyez l’emplacement où le fichier est stocké dans le référentiel local et accédez à cet emplacement, puis supprimez le référentiel manuellement.

<img src="https://i.stack.imgur.com/dROTl.png" alt="G">

1
Nazrul Islam Riad

Pour les utilisateurs maven:

  • Clic droit sur le projet
  • Maven
  • Mettre à jour le projet
1
Paulo Rodrigues

Solution : 1.Project -> Chemin de construction -> Configurer le chemin de construction

2. Sélectionnez le chemin de génération Java dans le menu de gauche, puis sélectionnez "Source".

3.Sous le projet, sélectionnez Inclure (Tout) et cliquez sur OK.

Cause : Le problème peut être dû au fait que vous avez peut-être supprimé les fichiers CLASS ou des dépendances du projet. 

0
sundersparks

Pour de nombreux nouveaux utilisateurs, n'oubliez pas d'ajouter un astérisque (*) après vos instructions d'importation si vous souhaitez utiliser toutes les classes d'un package .... par exemple

import Java.io.*;

public class Learning 
{
    public static void main(String[] args) 
    {
        BufferedInputStream sd = new BufferedInputStream(System.in);
            // no error
    }
}

: ==============

import Java.io;

public class Learning 
{
    public static void main(String[] args) 
    {
        BufferedInputStream sd = new BufferedInputStream(System.in);
            // BufferedInputStream cannot be resolved to a type error
    }
}
0
Jamisco

la copie des fichiers jar sera résolue. Si par hasard vous copiez le code d'un didacticiel, assurez-vous que les noms de classe sont orthographiés correctement ... par exemple, j'ai copié un code d'un des didacticiels qui avait la solution Solr in S cap. Eclipse jetait continuellement l'erreur et j'ai aussi fait un peu de google. Tout était ok et il m'a fallu 30 minutes pour me rendre compte du petit problème de la casquette. Suis sûr que cela aidera quelqu'un

0
Harish Narayanan

Vous devez d’abord mettre à jour le fichier pom.xml en ajoutant ci-dessous

    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>4.1.6.RELEASE</version>
    </dependency>

1] Cliquez avec le bouton droit sur le nom de votre projet.

2] Cliquez sur Propriétés.

3] Cliquez sur Java Build Path.

4] Vérifiez les «dépendances Maven» dans Ordre et exportation, tabl.

Dans mon cas, auparavant, il n'était pas activé. Donc, quand je l'ai activé, mon annotation @GetMapping fonctionne bien.

0
Annu
Project -> Build Path -> Configure Build Path
Select Java Build path on the left menu, and select "Source"
 click on Excluded and then Include(All) and then click OK
    Cause : The issue might because u might have deleted the CLASS files 
 or dependencies on the project

Pour les utilisateurs maven:

Clic droit sur le projet

Maven 

Mettre à jour le projet

0

Résolu le problème en laissant tomber le pot dans WEB INF/lib.

0
Andreas L.